

                               !LaBella

                    Version 6.43 (15th December 2011)

                    Freeware by Ray Favre  2002-2008

                         (Produced using Dr Wimp)


  (Requires RISC OS Version 3.60 or higher to use all facilities)


      (NOTE: This text manual - which is best viewed with a
      screen-width of 120 characters - has been extracted directly
      from the master Impression Publisher version, available for free
      download. It therefore suffers from some formatting
      problems. Also, of course, it does not have the numerous screen
      shots in the Impression version.)

CONTENTS

Introduction
Initial Installation
Upgrading from an earlier version

Basic operations
	Overview
	1   Start-up
	2   Control window basics
	3   Label Panel basics
	4   Page Panel basics
	5   CSV file loading basics
	6   Graphics basics
	7   Printing set-up & preview basics
	8   Key to measurements

Detailed Operations
	A   Common points
	B   Control window
	C   Label Panel
	D   Page Panel
	E   Paper colour
	F   UK Postal Barcodes
	G   Printing set-up and preview
	H   The iconbar/main menu

Inserting Date/Time/Day codes into a CSV file
Saved Default and User data
User-changeable limits etc.
Some comments about CSV files
Other points and tips
Reported problems
Credits
Contacts
Release History


Introduction

!LaBella is an application for printing text and/or graphics onto labels - but it is a lot more than that........


The ordinary things you can do with !LaBella are:

  Create label definitions on screen and save them for subsequent loading - including font choices/colours/line indents/justifications etc. (and some popular definitions are included as a starter)

  Display a single label or display a whole label sheet, at user-chosen scales (including a display of the current printer driver print margins)

  Print onto labels from records held in CSV files - choosing the number of copies of each record, the starting and finishing records, the starting label position and the range and number of copies of label sheets

  Preview the printing, including showing the actual text from a CSV file and showing which record will appear on which label

  Add a drawfile graphic to each label


Some of the non-ordinary things you can do are:

  Switch the label shape between rounded corners (normal), squared corners, envelopes and circular (for CD labels)

  Choose a different font/size for each individual line of text

  Choose a different colour for each individual line of text

  Choose the text indent for each individual line of text

  Choose the justification (Left, Right or Centre) for each individual line of text

  Set the line spacing individually for each line of text

  Add sequential numbering (or custom numbering) to each label, on any line

  Word-wrap any long text onto more than one line

  Clip or shrink long text to avoid printing beyond the label edge

  Choose to reverse the printer feed direction for envelopes

  Print drawfile graphics onto labels (without text, if required)

  Scale and/or shift the graphic to the size/position you want

  Switch between normal (portrait) and sideways (landscape) display/printing

  Print a label outline

  Add a UK postal barcode

  See how many empty (blank) records are in the loaded CSV file, and where they will appear when printing (and choose whether or not to print any loaded graphics on them)

  Step through a loaded CSV file to see how any particular record will actually appear in print

  Strip quotes from CSV file fields

  Add an extra space to the bottom line of text; or set the bottom line of text at a specified offset above the bottom edge of the label.

  Include or skip blank lines (i.e. blank fields)

  Lock the font/colour/indent values of a line to its corresponding record field (so that a fields appearance is not affected by skipped blank lines)

  Select individual label sheets for printing

  Store your drawfile graphics and CSV files conveniently

  Save your favourite label/csv file pairings for subsequent quick re-loading.

  See how many label sheets are needed to print a complete file

  Organise your CSV files into sub-directories which are automatically translated into a menu/sub-menu structure for easy loading.

  Edit individual records of a loaded CSV file - and output directly from Organizer address book.

  Insert current date/time/day into CSV file text.

  Add/delete records to/from a loaded CSV file.

  Show and/or print labels in coloured background.

  Customise the start-up settings.





Initial Installation

If this is the first time you have used !LaBella, simply copy the whole application to the place of your choice on a hard disc.

It is, as usual, best to keep also a master copy somewhere safe.

The application comes with a some label definition files for popular self-adhesive label sheets, example CSV files and drawfile graphics, so it needs nothing else to get going.

A plain-text version of the Manual is available from Help on the iconbar/main menu. A better formatted Manual with many screen-shots is available in Impression format from the www.rayfavre.me.uk/ website.



Upgrading from an earlier version

If you are already using an earlier version of !LaBella then you will no doubt have your customised set of label definitions, CSV/ files and graphics files in the applications UserRes directory - and perhaps you have customised items in the Defaults directory as well.

It is therefore unwise simply to copy the new version over the top of the existing version.

Rather, the recommended procedure is to move the complete existing version of !LaBella to somewhere safe prior to upgrading. After that, install the new version of !LaBella at the old location.

Then compare the files in the new Defaults.CSV, Defaults.Labels and UserRes directories with those in your (moved) previous version. Decide which ones you wish to use, deleting and copying across as necessary - being careful if any of the file names coincide.

Between Versions 6.31/6.32 and 6.40 there are no other upgrading preparations and files saved from Version 6.31/6.32 will load without alteration. However, at some convenient time it would be prudent to load and immediately resave all your chosen label definition files under this new version.

If you have saved your Start-up choices for the previous version of !LaBella it will load successfully into this version but, again, it is recommended that you re-save the Start-up choices afresh with this version.


Finally, if you have saved window positions for the previous version of !LaBella they will operate successfully in this version but, once again, it is recommended that you re-save the them afresh with this version.


Please note that from Version 6.32, the supplied sample label definition files in UserRes have been reduced to a minimum and a comprehensive selection of labels - together with a descriptive text-file list - is contained in a separate directory called LabelDesigns downloaded with the main application.

Basic operations


This section introduces the main features briefly, leaving detailed explanations to later sections. (It assumes that the default situation is as supplied.)




Overview

!LaBella works by combining a label definition (stored in a label definition file) with text (stored in a CSV/TSV/text file) to produce a displayed and/or printed output. Graphics (from a drawfile) can be added optionally.

Printing onto proprietary sheets of self-adhesive labels is typical.

At start-up, the initial display is produced from a default label definition file and a default CSV file - and the user can then load custom label definition files and custom CSV/TSV/text files at will.

Custom label definitions can be designed/amended on screen using any loaded label (including the default label) as a starting point - and saved for future use. Label definition files are independent of the text input i.e. any loaded label definition file can be used with any loaded CSV/TSV/text file.

The user must load a custom CSV/TSV/text file before a printed output is possible. (A custom CSV/TSV/text file is sometimes referred to as live text in this Manual.)


You can also save your favourite label/text pairings as Favourites and re-load them together subsequently.


Interactive Help is available on nearly all icons and menu items.


It is strongly advised that you have a printer driver loaded when you use !LaBella - and you will be warned if you have not.




If you wish to use the Postal Barcode option then it is essential that the PObar font (as supplied with David Pillings OvationPro application) is present in your system.

(A copy is supplied in the Defaults directory of !LaBella by kind permission of David Pilling - and with acknowledgement also to Kevin Simpson who designed the font.)






1   Start-up

Double-click the application icon in the usual way to start it up and to put an icon on the iconbar.

Clicking the iconbar icon brings up the initial display, which comprises the Control window plus the Label Panel with its single-label display, as panes below it - as in this screen-shot.






Note that the Label on view radio icon is selected.


Clicking the Page on view radio icon leaves the Controlwindow unaltered but changes the panes to show the Page Panel with its display of a whole sheet of labels - as in the following screen-shot.





Between them, the above two displays give the complete representation of a label definition i.e. the Label Panel+display shows how the text looks on any single label, whilst the Page Panel+display shows how a sheet of labels looks.2   Control window basics




The loaded label definition file is shown at the top right (here, the default label definition) and the loaded CSV file is shown at the top left (here, the default text, showing that no live text has been loaded yet). Each of these icons has an associated menu icon on their right, from which the user can quickly load any already-saved label definition and any already-saved CSV file.


As already seen, the pair of radio icons Label on view and Page on view allows you to switch freely between the Label Panel (with its single-label display) and the Page Panel (with its whole page display).


The purposes of the several pictorial buttons will be detailed later - as will the role of the Upright and Sideways pair of radio icons.3   Label Panel basics

The Label Panel (with its associated display of a single label) initially shows a label design automatically loaded from a default label definition file and it contains some lines of text automatically read from a default CSV file. The scale of the display is (probably) 100% - the scale is part of the label definition file. Both the default label and the default text can be changed by the user.


(Note that the default CSV file is used solely to provide a realistic label display from the start and to assist label designing. However, labels cannot actually be printed until a live text file has been loaded by the user - see 5 later.)


The Label Panel has several pictorial buttons and other icons giving access to windows (or menus) from which various defining values of the displayed label can be set - most importantly. label size and text fonts/sizes, colours, indents, justifications, line spacings. Also, individual records of a loaded custom CSV (live text) file can be edited.

The initial visible area of the label display pane is always sized to show the supplied default label fully (at the scale in the particular label definiton file).

All the values can be altered by the user and the displayed label redrawn to reflect any changes made. (Changing the values etc. only alters the display and not the contents of the loaded label definition file. The label needs to be saved to capture any changes - see Detailed Operations - C later)

When live text is loaded each record of the CSV file can be stepped through to see exactly what the printed output label will look like.

The Label Panel takes no account of the page layout. In particular, the Label display does not show any printer margins - which are only seen on the page display.


Note that the Add postal barcode option icon is always disabled on start-up and only becomes enabled when a live CSV file is loaded - see Detailed Operations - F later.


4   Page Panel basics

Clicking on Page on view will, in a similar way, display the Page Panel with its associated full-page layout - both as panes below the Control window as before. The scale of the page display (probably 40%) is part of the label definition file.



On its extreme left the Page Panel has just one pictorial button (described later) which is identical to one in the Label Panel - and in the same position.

The page display shows the layout of a single sheet of labels - with a thin red stripe at the top of the sheet showing the top of the sheet as seen by the printer sheet feeder.

The displayed area is initially sized so that a typical A4 sheet can be seen fully at a scale of 40%.

Each label on the sheet is given a position number which is shown at the top left corner of each label in a pale violet colour. (This position number is for identification only and is never printed.)


It is important to appreciate that the label display also serves as a printing preview display. Accordingly, the labels on this sheet will be blank initially - apart from the position number - because no custom CSV/TSV/text (live text) file is yet loaded, and therefore no printed output is possible. Loading a live text file will change the page display, see 5 below.


The Label Panel and the Page Panel - together with their respective displays - are the two main areas used for designing your own label definitions, which can be done with or without a loaded custom CSV (live text) file.

However, in order to print or to make printing choices (or to edit a particular CSV file record) you need to load a custom CSV (live text) file - see next.




5   CSV file loading basics

At any time, you can load live text from a CSV/TSV/text file.

These files must be in  either CSV or TSV format, but they can be of
either file-type &DFE or &FFF.  Example files are supplied. For
convenience, in the rest of this Manual such a file  will be referred
to simply as a CSV file or live text.

To load such a file, click the small menu-icon to the right of the
pale yellow icon at the  top left of the Control window. This will
bring up a menu of live text files currently  stored in the UserRes
directory (see Saved Default and User data later). Click on any  one
of them to load that file. (Live text files can also be dragged to
the window to  load them.)

If you have the Label Panel on view, loading a live text file will
automatically switch  the display to show the live text, with (at
the start, anyway) the first record of the file  showing. You can then
step through each record to see the text in the chosen fonts,  sizes,
colours etc. exactly as each would appear in print.

If you have the Page Panel on view, loading live text will cause
representations of the  text to appear, as appropriate, on each label
- indicating that a printed output is now  possible.

Whenever a CSV file is loaded a check is made for blank records. If
any are found the Delete blank records... button is enabled in the
Control, Printing and Edit windows - and clicking on any of
these opens the CSV blank records window, in which options for
eliminating the blanks are given (see later in Detailed Operations,
Section B.13.).



6   Graphics basics

Drawfile graphics can be loaded and displayed/printed onto the labels - via the   button in the Control window. (If you wish to use sprites/JPEGs then simply load them into !Draw and save them as a drawfile.)

When loaded, the use of the drawfile can be switched off/on for the label and page displays independently.

The Label Panel display will show exactly how the graphic will appear on a label and the scale and position of the graphic can be adjusted to suit your purposes.

If the Print graphic? option is ticked (in the Printing set-up window - see 7 next) the page display will show the graphic on all the appropriate labels.

Note that any graphic is rendered before the text - so the text will appear on top in the displayed/printed result.

When a label definition is saved, if a loaded drawfile is currently displayed in the Label Panel, the drawfile leafname plus the scale/positioning details of the graphic are also saved - and a copy of the loaded drawfile is automatically saved into the UserRes folder. Any subsequent re-loading of that saved label definition will then automatically load the drawfile and display it as originally saved.





7   Printing set-up & preview basics

At any time, you can display the Printing set-up window by clicking the   button.


If live text is not loaded nearly all the icons in this window will be disabled. However, loading a live text file will cause the window to show how many records and fields-per-record exist in the file (and how many blank records there are) and allow you to decide which records to print/preview, how many copies of each and at which label position to start on the first label sheet. Also, you can choose to print all label sheets, individual sheets or a range of sheets - as well as multiple copies of each sheet.

As already indicated, if there are blank records in the loaded CSV file the Delete blank records... button will be enabled so that the blanks can, if you wish, be eliminated prior to printing.

In conjunction with this window the page display acts as a preview of the printed output. (In particular, as already mentioned, it will show empty labels unless live text is loaded.)

When live text is loaded the page display will preview the contents of each label in a shorthand form, such as Record 5, Copy 2 and the red text above the page (in the Page Panel) will show which sheet is currently being displayed e.g. normally Preview sheet 1 at first.

The contents of the page display will at all times accurately reflect your selections in the Printing set-up window and will change as you change the selections e.g. changing the number of copies of each label, starting/ending record, starting label position will all alter the page display - as well as recalculate the number of label sheets needed.correspondingly.

With the page display on view, using the large nudgers on the right of the Printing set-up window allows you to step through each label sheet to check which record/copy will appear on which sheet etc.


Once a live text file is loaded, any loaded graphic will also be available to be shown on the Page Panel display, where it will normally be seen on each label that will be printed. However, the separate Print graphic? option in the bottom left of the Printing set-up window can be used independently to include/exclude the graphic in the printed output (see Detailed Operations - E later).


When you are happy with your choices, the Start print button will start the actual printing. (Note that the Start print button may be disabled at certain times when the user is altering label/page positioning values etc. The button will be re-enabled as soon as the display is updated - see Detailed Operations - A later.)

8   Key to measurements

Label measurements





Page measurements

Detailed Operations


After describing some common points, this section takes each main window in turn and describes the role of each icon and available user-operation. So, if you want to find out how to choose/change, say, text colours, then the information will be found in the section covering the main window where the Text colours icon appears i.e. the Label Panel section.

And dont forget the interactive Help .......



A   Common points

Icon colour coding

An attempt has been made to colour the icons consistently, as follows:

  White background icons: these are all writable and their contents can be changed by normal keyboard editing (and, in many cases, also by adjuster icons, called nudgers below).

  Pale yellow background icons: the user can only change the contents by nudgers or menu selection (or by file dragging in some cases).

  Orange background icons: the user cannot change the contents directly but they show data derived from other user actions e.g. printer driver name, total number of records in a loaded CSV file, etc.


Using the nudgers

As usual with a RISCOS application, using the <adjust> mouse button will reverse the normal action of a nudger.

Further, on most nudgers altering a measurement, using <shift> with either mouse button will alter the incremental/decremental change applied. For measurements in millimetres, the normal increment will be 1mm, but holding down <shift> will alter the change to 0.1mm. (If inches are in use the corresponding values are 0.1inch and 0.01inch.)

For nudgers changing the CSV record number or page/label scale, the use of <shift> will change the value by 10 instead of the normal 1.



Automatic display updating and pending changes

In the cases where nudgers change a value which is not a measurement in millimetres/inches, the label/page display will update immediately to incorporate the change e.g. changing the number of columns - and, if appropriate, the Control window title bar will be given the unsaved data asterisk.

However, using the nudgers to change measurements e.g. label width, graphic position - or using the keyboard to change a writable icon value (including a change to the label name) - will not action the change immediately. In these cases the changes will be pending until the display is updated in any one of the following ways:

  by pressing one of the (Dark Green) Update buttons which appears in several windows;

  by pressing the <return> key when the caret is in any writable icon (whether or not you have made a change in it);

  by carrying out subsequently one of the change operations which does enjoy immediate updating.

Any display updating - whether automatic or manual - will capture all pending changes which have been made by the user since the previous display update. (Thus, for example, if you use the nudgers to change the label width and do not press an Update button immediately, but go on to alter the number of label columns, the pending new label width will then also be captured with the column change.)

Further, in nearly all cases, when you make a change which does not enjoy immediate display updating, the Save label button (in the Control window) and the Start print button (in the Printing set-up window) will be disabled (greyed out) and will not be reenabled until the display is updated.


Unsaved changes and Warnings choice

Working in conjunction with the above arrangements, whenever a loaded label definition is altered in any way that modifies the label design, the title bar of the Control window will gain an asterisk to signify that a changed state exists. This asterisk will remain until the label has been saved or the user chooses to discard it.

But please note that some changes e.g. changing the scale of the label/page display or stepping through the records of a loaded CSV file, are treated as non-design changes and do not - in themselves - trigger the appearance of the title bar asterisk. However, in accordance with the previous section, if there are design changes which have not yet been incorporated when one of these non-design changes is made, the action will also capture these and (if not already there) an asterisk will appear

Whenever an asterisk exists in the title bar of the Control window, certain warnings will (by default) be given prior to actions that would discard the incorporated changes. However, the user can choose to reduce the circumstances when these warnings are given - or stop any warnings at all - by using the submenu attached to the Warnings item in the iconbar/main menu. The user can also set the start-up choice for this item.


Dragging in files and double-clicking

Although it is usually more convenient to take advantage of the in-built facilities for loading files - and these are the ones described in detail below -  all three types of input file (label definition files, CSV (live text) files and drawfiles) can equally well be loaded by dragging into the appropriate window/pane.

In addition, dragging a label definition file to the iconbar icon will load the label - opening the main window if necessary.

Further, once !LaBella has been seen, double-clicking on a label definition file will load the file (starting up !LaBella and opening the main window if necessary).



Start-up options and window positions

From the iconbar menu (also available from the main windows) certain options can have their start-up settings chosen. Also the start-up positions of all important windows can be saved.

The details are given later under the description of the main menu.

(Note that as supplied there are no saved window positions but all windows will open initially to the left of the screen to assist users with 800600 displays.)





Label shapes

Four basic label shapes are currently offered. They are:

1 - Rounded corner rectangle (the standard shape, as in the first screen-shot of this Manual)

2 - Square-corner rectangle

3 - Circular CD

4 - Envelope (a square-corner rectangle with a postage stamp position indicated).

All label definition files are automatically associated with one of these shapes - see B.2 later. For each shape, there is a separate default label definition file and a separate default CSV file.

Screen-shots of the different available shapes (with their as supplied default text) are shown below - except for the  standard rounded-corner shape which is seen in many other screen-shots in this Manual.



The Square-cornered rectangular label shape (Business card)





The CD label shape





The Envelope shape



B   Control window




The above screen-shot shows the the Control window alone but, as already indicated, in use it will always have the Label Panel or the Page Panel (and their respective displays) beneath it. The numbers in the circles refer to the sub-sections below.


1  CSV file (Live text) - The Pale Yellow icon shows the full pathname of the loaded live text file. (When no such file has been loaded the icon shows (Default text loaded) as in the screen-shot.)

Clicking the menu icon to the right brings up a menu of CSV files currently stored in the UserRes.CSVFiles folder (see Saved Default and User data later) - a few of which are supplied with the application as examples. Selecting any item from the menu will load that file and the Pale Yellow icon text will change to correspond with the choice.

As already noted, if a CSV file contains any blank records, a warning will be given (if Full warning is active) - with options to continue or to eliminate the blanks.

2  Label name - The white writable icon shows the name of the currently loaded label definition. This label name (user-chosen) is not the leafname of its file, but is stored as part of the files contents.

The label name can be changed from the keyboard in the usual manner, but the window title bar will treat the change as pending until the user updates the display in one of the standard ways - described earlier.

The intention is that a user will build up a library of label definitions with meaningful names to suit his/her needs. The example label definitions supplied cover many of the most popular proprietary self-adhesive label sheets and so will provide a good starting point for producing custom label definitions.

Clicking the menu icon to the right of the label name will bring up a menu listing the file leafnames plus label names of all label definitions currently stored in the UserRes.LabelData folder (see Saved Default and User data later). Selecting from this menu will - after a warning if unsaved changes exist and the user has chosen Full warnings - load the chosen label definition and cause the displays to show the new values.

(Also, moving the pointer over the arrow-head to the right of any item in this menu will bring up a small sub-menu allowing deletion of any saved label definition file.)


On loading, each label definition file is automatically associated with a corresponding basic label shape i.e. currently either rounded-corner rectangle, or square-corner rectangle. or CD (circular), or envelope. (Screen-shots of these shapes were shown earlier.)

The automatic association of one of these basic shapes to a label definition file is effected via specific character sequences in the user-chosen label name, as follows:

If a label definition has the case-sensitive character sequence Square somewhere in its label name then the label shape will be a square-cornered rectangle.

If a label definition has the case-sensitive character sequence CD  or DVD somewhere in its label name then the label shape will be a circular CD.

If a label definition has the case-sensitive character sequence Env somewhere in its label name then the label shape will be a square-cornered rectangle with a postage stamp location indicated i.e. an envelope shape.

In all other cases the basic label shape will be rectangular with rounded corners - and the as supplied initially-loaded default label definition is of this type.



Whichever basic label shape is currently in use becomes the current default label shape - and will remain so until you load a label definition of a different shape or change it from the iconbar/main menu - or until you quit !LaBella. (If you wish to change the start-up default shape this can also be done from the iconbar/main menu - see Detailed Operations - H later.)

Each default label shape also has a default CSV file associated with it and the text from this will be displayed whenever the Default text option is selected.


3. Update - This is one of several identical buttons which appear in various windows. Clicking on any of them will update the display to incorporate all pending changes which may have been made. Doing this will also re-enable the Save label and Start print buttons if pending changes had disabled them - see earlier.

Updating a display will always trigger the appearance of a title bar asterisk, if not already there.



4   Return to default label button - As already indicated, for each of the basic label shapes there is a default label definition file (in the Defaults.Labels folder) and a default CSV file (in the Defaults.CSV folder). At any time, you can restore things to the current default label definition (appropriate to the currently displayed basic shape) by pressing <select> over this icon. (A prior warning will be given if unsaved changes exist and the user has chosen Full warnings.)

Doing this will change the displayed label definition, but the text displayed will not change unless the Default text option is already selected - in which case the text will change to that in the default CSV file corresponding to the new shape. (If you want to change to the default label of a different basic shape you can do so from the iconbar/main menu - see Detailed Operations - H later.)




5  Load a favourite button - A favourite is a pair of files comprising an already-saved label definition file and an already-saved CSV (live text) file - see 7 below.

Clicking this button will bring up a menu of any already-saved favourites and selecting one of them will load the corresponding pair of files (with a prior warning, as appropriate).

Favourites are saved using the Save favourite button (7, below)

(You can also nominate a saved favourite to be loaded at start-up - see Detailed Operations - F later.)



6   Save label button - Clicking this button toggles the following window on/off.



This window offers different options for saving the currently displayed label as a label definition file. (The button will be disabled whilst pending changes exist - see earlier.)

There are three choices:

1) Save the currently displayed label as a new label definition file;

2) Save the currently displayed label as a replacement for (i.e. overwriting) the currently loaded label definition file;

 3) Save the currently displayed label as a replacement for (i.e. overwriting) the default label definition file for the currently displayed basic label shape.

When you have made your choice, pressing the Save button will action the save, with a prior warning in some cases - see below.

Note that this window will always open with option (1) selected - because this action can never involve overwriting an existing file and is therefore safe.

Note also that saving a label does not alter the current label displays.

Saved label definition files are given the registered file-type &1C3(labella).


Save option (1)

If this option is selected when you press Save, a normal save box will appear allowing you to save the definition of the currently displayed label to file.

The writable icon in the save box will automatically show the path - with a suggested leafname - of a special user-directory UserRes.LabelData intended for label definitions (see Saved Default and User data later). So, pressing OK will automatically save the label definition file to the recommended directory with the recommended leafname. If you use this directory the saved label will appear in any subsequent use of the menu icon mentioned under Label name above. (However, if you wish, you can also use the save box in the usual ways to save the label definition file to any other place - but it will then only be available for future loading by dragging or double-clicking.)

Dont forget that the saved name of the label definition (as opposed to the leafname of its file) will be the current contents of the Label name writable icon at the top right of the Control window - so there could be several different files each with the same Label name. There is nothing illegal about this but it could be confusing to you on the menu - and so (if Full warnings is chosen) a prior warning is given if the saving is to the UserRes.LabelData directory and the contents of the Label name icon is already used in the files stored in that directory.



Save option (2)

If this option is selected when you press Save, the immediate action will replace the currently loaded label definition file with a new file reflecting the currently displayed label.

You will not normally get any warning before the replacing action takes place, but in the special case where the currently loaded file happens to be the default label definition file for that shape, you will get a prior warning before the replacing action occurs (unless No warnings has been chosen).


Save option (3)

If this option is selected when you press Save, the action will - after a warning (unless No warnings has been chosen) - replace the default label definition file for that shape with a new default file reflecting the currently displayed label.


A saved label definition file - saved from this Version of !LaBella - will hold the following data:

 - A special file header (including the !LaBella version number)

 - Label name (not necessarily unique - see above)

 - Label and Page scales

 - Measurement units (mm/inch)

 - Guide paper width/height (user-chosen dotted rectangle on page display).

 - A flag to indicate whether sideways page layout is chosen.

 - No. of Label columns/rows

 - Row and column pitches

 - Top & Left label insets on page

 - Label size

 - No. of text lines

 - Text line indents (for each line)

 - Text justifications (for each line)

 - Text fonts/sizes/locks (for each line)

 - Vertical inset of top line of text

 - Text line spacings (for each inter-line space)

 - Extra spacing for last line of text

 - Text colour (for each line)

 - Numbering options

 - The position/scale and leafname of a displayed drawfile (if any).


Please note two important points about drawfiles when saving label definitions:

a) if a drawfile is loaded but not displayed in the Label Panel (i.e. the option Show loaded pic? is unticked) then the drawfile information will not be saved;

b) if a drawfile is loaded and displayed in the Label Panel (i.e. the option Show loaded pic? is ticked) then - in addition to saving the drawfile details as indicated - the loaded drawfile will automatically be copied into the UserRes.LabelPics directory so that it will be available to load subsequently from the drop-down Load filed pic menu (see Graphics button, below).


Note also that a label definition file does not contain any information about any CSV file. This is deliberate as many users wish to use the same label set-up for different text inputs. (However, the favourites concept allows the user to save a specific label definition file and a specific CSV file as a pair - see 7 next.)







7  Save a favourite button - Clicking this will open a more or less standard save box allowing the user to save a favourite into the UserRes.Favourites folder. This button will only be enabled if the Live text radio icon is selected.

A favourite is a user-chosen pair of files comprising an alreadysaved label definition file plus an alreadysaved CSV (live text) file. It is important to note that to be effective both files should already be saved in their respective sub-folders of the UserRes folder.

On opening, the save box will show the correct path within UserRes plus a suggested leafname (e.g. Favour01). This leafname should be altered to something more meaningful before clicking OK.

The saving action simply saves - in a text-file - the full path names of the last-loaded label definition file and the loaded CSV (live text) file. Note that this does not necessarily mean the currently displayed label definition. For instance, you may have loaded a label and then altered it in some way but not yet saved it. If you Save a favourite at this stage the saved label file will be the one that you last loaded rather than the (unsaved) one currently displayed. This is a deliberate precaution to improve the chances of a favourite pair already being in the right place for successful re-loading subsequently.


The recommended routine is therefore to prepare and save your label definition into UserRes.LabelData first then re-load the newly-saved one (plus the required live text file from UserRes.CSVFiles) before saving the pair as a favourite. Please be very careful if you have dragged in a label and/or CSV file from outside the UserRes folder. Saving a favourite will correctly record the source locations but they will need to be in the same places to be re-loaded successfully at a later time.



8  Graphics button  - Clicking this button toggles the following window open/closed.




This window allows a saved drawfile graphic to be loaded and its scale/position on the label altered. (This does not change the saved drawfile in any way.)


When no drawfile is loaded all but the top icon will be disabled and the Pale Yellow icon will show (No graphic loaded).

Clicking the menu icon at the top of the window brings up a menu listing drawfiles currently saved in UserRes.LabelPics and selecting any one of them will load the drawfile and initially display it on the label display (and also on the page display if appropriate - see below). Also, the full path of the loaded graphic file will be shown in the Pale Yellow icon.

The remaining icons in the window will then be enabled and set to their default state of 0 x/y offset and 100% scale. (A drawfile is always initially loaded so that the bottom left corner of its bounding box is at the bottom left corner of the displayed label.)


Note that once a drawfile has been loaded all the icons in this window will remain enabled irrespective of whether the user subsequently chooses not to display/print the graphic.


Loading a drawfile will also enable and tick the Show graphic icon in the Label panel and similarly (if a live text file is loaded) enable and tick the Print graphic? icon in the Printing set-up window.


Once loaded, the graphic can be scaled (within user-definable limits) and/or moved at will, but note that position changes by nudger and all writable icon changes via the keyboard will be pending until an update is done. Dont forget that the label/page displays are themselves controlled by scale values, so the visual representation will reflect both the values in the Graphics window and the display scale values.



An example of a displayed drawfile is in the following screen-shot of the single-label display. It is the supplied HOLLBELL00 drawfile, scaled to 75% and moved +77mm horizontally and +10mm vertically.





On loading a drawfile it is likely that you will always wish to see the graphic on the label display and (when appropriate) on the page displays. However, if required, its presence can be switched on/off in each display independently from the Label panel and the Printing set-up window - see the detail for those windows.


There are two other ways in which a drawfile graphic can be loaded: either by dragging in a drawfile or by loading a label definition file which was saved whilst it was displaying a drawfile. Either method will enable the icons in this window as required and in the latter case the offsets and scale will be set to those saved.


The graphic file leafname plus its scale and position values will be saved if you use the Save label.... button when a drawfile graphic is loaded and the Show graphic option is ticked (in the Label panel). Also, as described earlier, if the details of a drawfile are saved in this way the drawfile will also automatically be copied into the UserRes.LabelPics directory so that - irrespective of how it was loaded - it will be available to load subsequently from the drop-down Load filed pic menu.

 Ticking the  Keep shown values in  session option icon  will preserve the
currently  shown   scale  and   offset  values   when  a   new  drawfile   is
loaded/re-loaded by dragging in or via the menu.

Clicking the Reset values button resets the x/y offset positions and scale to their default state.


Clicking the Clear graphic button effectively unloads the graphic file and returns this window to its starting state. The Label and Page displays are correspondingly changed.


9  Printing set-up button - Clicking this button toggles the following window on/off.


This is an important window and is often used with the Label Panel also showing, so that the effect on the printed output resulting from changes made in the window can be previewed immediately.


If no live text file has been loaded all but the top icon of this window - showing the name of the loaded and currently active printer driver - will be disabled.

If you change the driver whilst !LaBella is running the Orange icon will reflect the change. (If no printer driver is loaded then the Start print button will be permanently greyed out.)


When a live text file is loaded most of the other icons will be enabled and various corresponding characteristics of the text file will be shown i.e. number of records in the file, number of fields per record, number of blank records and the number of label sheets it would take to print the selected range of records using the loaded label/page definition with the selected number of copies and starting at the selected starting label. (Initially, the user choice values are normally set so that all the records would be printed, with 1 copy of each record and starting at label position 1. But if the Envelope shape is currently in use this is altered - see Detailed Operations - E later.)

Further description of this window is best left until after the Page Panel has been introduced and is given in the Section More on Printing set-up and preview.



10  Miscellaneous button - Clicking this button toggles the following window on/off.




This window concerns several miscellaneous items.

In Configured printer the Orange icons show the active printer drivers configured paper size.


Below that is User paper-guide containing a pair of writable icons which allow the user to define a dotted rectangle superimposed on the page display. Its purpose is merely to offer some assistance if the user wishes to use paper of a different size to that configured by the printer. The dotted rectangle can then be used a guide. It has no effect on any aspect of the operation.


In the Units section are two radio icons to allow you to choose between millimetres and inches for the units of measurements shown in other windows. (Incidentally, pressing these radio icons will also update the displays in the same way as an Update button.)

When you save a label definition the units currently selected are saved along with the values - so that you can make the definitive values for any label in either mm or inches, as you wish.

When using the nudger icons to increase/decrease measurement values, the increments will automatically be adjusted for the mm/inches choice e.g. 1mm and 0.1inches (see Common points earlier).

If you change from mm to inches (or vice versa) and back again it is possible that some rounding errors may creep in. To minimise this, millimetre values are converted to two decimal places and inches to three decimal places.


The Print with font blending* option is a safeguard. When the circumstances favour it !LaBella uses font blending for text printing. This gives a better result when text is superimposed over a graphic. However, not all printer drivers nor all versions of !Printers support font blending - and when they dont the results of applying it can be drastic e.g. disappearing text when printing, even when the display shows no problems.

For this reason, this option allows font blending to be switched off. It is recommended that you leave the option ticked unless you get printing problems.

Note that this option has a asterisk in its label - meaning that the state of the option can be saved by the user as a start-up option.


The Keep label/page on screen* option is a minor feature which might mainly be helpful to those using a screen size of 800600. It is supplied as off but when it is ticked you will find that the label/page display itself will not move beyond the edges of the screen (although the Control window and the Label Panel/Page Panel to which it is attached still will).

Note that this option has a asterisk in its label - meaning that the state of the option can be saved by the user as a start-up option.




11  Label on view/Page on view - This pair of radio icons determines whether the Label Panel or the Page Panel is on view, together with their corresponding label/page display. Whichever is chosen appears in the same place as a pane attached to and below the Control window.

When you toggle between the single-label and page layout views an attempt is made to retain the visible window sizes and scrolls that you may have adjusted. However, when a new label definition file is loaded (or you choose to return to the default label) the windows will return to their initial sizes with zero scrolls.

(Incidentally, pressing these radio icons will also update the displays in the same way as an Update button.)



12  Upright/Sideways - This pair of radio icons determines whether the page is handled in Portrait mode (upright) or in Landscape mode (sideways) - so as to offer the facility to print sideways.

Further detail is best left until later.

 13  Delete blank records... -  When it is enabled,  this button indicates
that the  loaded CSV file has  one or more blank  records. (Identical buttons
are also  in the Edit  and Printing set-up windows  and they all  stay in
sympathy.) Clicking the  button opens  the CSV  blank records  window ,  as
below.

  The  radio icons offer three options to  eliminate all blank records in the
loaded CSV file and to save the result as a new file:

  - the  first option will simply create a new  file with the blanks deleted,
but will leave the original file still loaded in !LaBella.

  - the second option will create a new file with the blanks deleted and will
then load this new file into !LaBella.

  - the third option will  create a new file with the blanks deleted and will
then overwrite the original and re-load this into !LaBella.

  With either  of the first two  options the new file will  be created in the
same  directory as the original file (i.e. normally in UserRes.CSVFiles) with
the leafname of the original file prefixed with  New_. In both these cases,
the original file remains untouched.

  Having made the choice, clicking the Do  action button will carry it out.
Finally, clicking  the  Do  nothing button  will  simply close  the  window
without carrying out any action.



C   Label Panel

This is the window (a pane below the Control window) in which the main aspects of the text layout of a label are determined i.e. fonts, colours, line spacings, indents, justifications etc. Its associated label display always shows just a single label.




The numbers in the circles refer to the sub-sections below.


1  Text lines - This icon, with its associated nudgers, controls the maximum number of lines of text (i.e. number of fields of a CSV record) that will be displayed/printed on the label. Its minimum value is 1 and its maximum value is 24. (This maximum value is set by a system variable in the !Run file - see User-changeable limits later.) The value for a particular label is saved as part of its label definition file.

Changing the value with the nudgers immediately updates the display - and also updates the windows for setting fonts/colours/indents/line-spacing etc.

The number is independent of the number of fields-per-record of the loaded CSV file. Thus, if the lines of text is set to, say, 6 and the loaded CSV file has 8 fields-per-record, then only the contents of the first 6 fields will be able to be displayed/printed - and the lines of test would need to be increased to 8 to permit all fields from this CSV file to be displayed/printed. Conversely, if the lines of text value exceeds the number of fields-per-record of the loaded CSV file then there will be unused (blank) lines displayed/printed on the label. (The word-wrap and lock options can modify this behaviour and will be covered in detail later.)

When the number of Text lines is increased above the value loaded from the label definition file there will be no saved values to use for the settings of the Font/Colour/Indents/Line spacing etc. and hence default values of settings are needed. These are as follows:

 - Fonts/point sizes/locks - a default font and default point size are defined in the applications !Run file. For a new line the lock is set to Off.

 - Text indent/justification - a new line is given Left justification with zero indent.

 - Line-spacing - for the first additional line the line spacing is set to the point size used on the last line loaded from the file. All subsequent additional lines are given a spacing equal to the default point size.

 - Numbering - a new line will not have either its Before text or After text options ticked.

 - Colour - a new line is given Black text.

If the number of lines of text is decreased any settings which have already been loaded (or subsequently selected) will not be lost - and they will re-appear if the number of text lines is again increased. It is only when the number of lines is increased above the previous high tide mark that the default values are used. (This aspect is easier to see than explain and so a quick play with the nudgers changing the number of lines of text will quickly demonstrate what happens.)


2  Label scale -The label is usually shown at 100% but the value is user-adjustable and is saved as part of the label definition file. Using <shift> with the nudgers will change the scale by 10% instead of 1%. (The lowest and highest selectable displayed label scale values are limited by variables which can be altered in the !Run file - see User-changeable limits  later.)

The Label display can be scrolled if you have a label (or label scale) larger than the initial visible window will show. You will find that the total work area of this window will accommodate, at 100% scale, a single label equal in size to an A4 sheet. (A label larger than that will still be able to be used but it will not be able to be displayed fully, at 100%.)

Scrolling action can sometimes cause the label to be hidden if subsequent changes are made to the scale value. The scroll bars will then need to be altered accordingly to bring the hidden parts into view.



3  Measurements button - Clicking this button toggles the following window open/closed. (Note that an identical button is in the Page Panel and both act in the same way.)





The top section of this window concerns the size of an individual label and the bottom section concerns the layout of the labels on a sheet - normally A4 in size.

Measurement values in millimetres/inches can be changed using the nudgers or by normal writable icon action. Holding down <shift> whilst using the nudgers alters the increment as described under Common points earlier. All changes to the writable icons are treated as pending until an updating action takes place - as also described in Common points earlier. An Update button is therefore included in this window for convenience.

Changes to the Pale Yellow icons (Rows and Columns) can only be made by the nudgers and their effect is immediate.

Note that the measurement units used can be either millimetres or inches and this can be changed in the Miscellaneous window - see Detailed Operations - B.10 earlier. Note also that the units chosen will be saved in the label definition file.





4   Fonts button - Clicking this button toggles the following window on/off.



This window will always show one row of icons for each of the number of text lines in the Text lines icon detailed in 1 above - and the window will change correspondingly as the Text lines nudgers are used.


The font for any text line can be selected from the conventional font menu which appears when the corresponding menu-icon on the right of the font name icon is pressed. The selected font will appear in the font name icon and the label display will change immediately.


Similarly, the point size of each font can be altered independently using the nudgers. Again, any change is reflected immediately in the font name icon and label display. The lowest selectable fontsize is limited by a variable which can be altered in the !Run file (see 8 below).


There is also an Alt size which can, if required, be set to a smaller point size (if you have loaded a calendar file created in a !LaBella version earlier than 6.30 the Alt size will default to the same as the main size). Its role is to provide an alternative point-size - for each line independently - for use with the Shrink option - see 15 below. The intention is that if a CSV file has text in any field(s) which varies considerably in length then - by choosing the Alt size appropriately and ticking the Shrink option - the normal point-size will be used if the text of a line will fit within the label boundary and the Alt size will be automatically substituted if the text would be too long. Clearly, it is up to the user to ensure that the smaller size is suitable for the longest text in the CSV file.



By clicking on any of the option icons in the right-hand column (Lock font etc. to field?) the user can ensure that a chosen field (or fields) from a loaded CSV file will always appear in the font assigned to its corresponding label text line - even when the user opts to eliminate any empty lines. A typical use for this lock option would be a CSV file of addresses where the post-code (zip-code) always appears in the same field but there may be earlier blank fields in some of the records. By locking the post-code field/line and un-ticking Show blank lines the post-code will always appear in the same (chosen) font/colour/indent/justification - even when shuffled up. (See 11 below also, for switching the locks on/off.)

A separate Lock(s) active? option icon is provided on the main Label Panel so that all chosen locks can be activated/de-activated at will by the user. (If a new label definition is loaded and it has any locks set, then this Lock(s) active? option will be ticked automatically on loading.)

  For convenience,  a group of buttons  at the top of this  window allows, at
any time, the  fonts/sizes (but not locks) of  all text lines to be  made the
same as any other  chosen line. Simply use the nudgers to  change the line to
be copied and then click on the Make all lines the same as Line:.

As already indicated, if the number of text lines is increased above that of the loaded label definition file the new line(s) will be given the default font and default point size as defined in the applications !Run file - and its lock will be set to Off



5   Indents/Justifications button - Clicking this button toggles the following window on/off.



Again, this window will always show one row of icons for each of the number of text lines in the Text lines icon detailed in 1 above - and the window will change correspondingly as the Text lines nudgers are used.

The text indent of each line can be set independently using the nudgers or via the writable icons. Similarly, the justification for any line can be set using the radio icons.

For changes made by using the nudgers, the Update label button in the window, or other similar buttons elsewhere, needs to be pressed to effect any changes made.

The chosen indent value will be interpreted according to the justification selected for the line. The value will be regarded as:

 - the left indent with Left Justification

 - the right indent with Right Justification

 - the value will normally be ignored if Centre Justification is selected (but will come into play if word-wrap is chosen - see 12 below).

  As with some other  windows, a group of buttons  is provided at the top  of
the window to  allow all line indents/justifications  to be made the  same as
any chosen line.


Note that the line indent/justification is included in any lock action - see 3 above.

As already indicated, if the number of text lines is increased above that of the loaded label definition file the new line(s) will be given Left justification with zero indent.



6   Line spacings button - Clicking this button toggles the following window on/off.


In its lower part, this window will always show one row of icons for each inter-line space - as determined by the Text lines icon detailed in 1 above - and the window will change correspondingly as the Text lines nudgers are used. (If there is only one text line then there will be no lower rows of icons and the message Only 1 Line specified will be shown in Red.)


The spacing between the top of the label and the first line of text is set by the Text top inset icon - in millimetres/inches - and needs the usual updating action. Using normal English text, it may be noticed that a Text top inset value of 0 often still apparently leaves a small space between the top of the label and the top of the text. This is not an error: it arises simply because the particular font design takes account of non-English and/or special characters needing this extra height. Most fonts will exhibit this characteristic.



Assuming there is more than one text line set, the inter-line spacings can be set individually from the lower set of icons, using the nudgers - but the options here are a little different. The user has the choice of setting the line spacings in one of three different units; as mm/inch, or as points, or as a percentage of the point size of the line above.


It is important to note that, irrespective of this choice of units and irrespective of the values shown in this section, the actual inter-line spacings are always immediately converted to points and held in that form whilst the application is running. (Nonetheless, when saving a label definition the currently displayed user-chosen units option and values in this window are saved - with conversion to points taking place when the file is loaded again, if necessary.)


Changes made to the inter-line spaces are effected immediately - and,
again, a  group of buttons  is provided to  make all inter-line  spacings the
same  as a user-chosen  inter-line space. (But note in this case that the same means the same displayed value in the spacing units currently chosen by the user. If, for instance, the % of font above option is active then all the percentage values will be made the same - which does not necessarily mean that the mm/inch/point values will be the same.)


Note that the line spacing is included in any lock action.


As already indicated, if the number of text lines is increased above that of the loaded label definition file, for the first additional line the line spacing is set to the point size used on the last line loaded from the file. All subsequent additional lines are given a spacing equal to the default point size.


Clicking the Bottom line options... button opens the following window.





This window allows the last line of text to be positioned in one of two special ways: either by always giving it an additional spacing; or by instantly resetting the inter-line spacing value to place the line at a specific offset above the bottom of the label. Only one of these options can be used at a time: the other will be disabled - as controlled by the radio icons.


If Extra spacing is selected (as in the screen-shot) the bottom line of text will always have an extra amount (in mm/inch) added to its current inter-line spacing.

This feature needs to be handled with care: the extra spacing applies strictly to the Nth line of text where N is the current Text lines  value - see 1 above. If you change N then the bottom line changes accordingly. Further, if you have a Text lines value of, say, 6 but the CSV file being displayed/printed has only 5 fields-per-record, then the extra space will not be applied. Further, if there are sufficient fields-per-record but the 6th field is empty, then the extra space will not show. But also note that any extra spacing is still included if the bottom line is subject to a lock action. (Experimentation is recommended to assimilate how this feature works.)


The Alter bottom line position option is more straightforward: it is best regarded as an instant effect automatic calculator to reset the bottom inter-line spacing so as to get a specific vertical offset between the bottom line of text and the bottom of the label.

When first enabled (by clicking its associated radio icon) the value shown will be the current offset of the bottom line of text in mm/inch, as determined by the current top offset plus current inter-line spacings - with the current label height, of course. Change any of these values and the bottom offset will change in sympathy. (Note specifically, that any Extra spacing is now ignored.)

If you wish to give the bottom line a specific offset from the bottom of the label then simply alter the value accordingly and click on Update. The inter-line spacing for the bottom inter-line space (only) will be re-calculated and reset instantly to the correct value to achieve the set bottom offset. When this happens the (disabled) Extra spacing value is reset to 0 - if it is not already at that value.

If the resulting label definition is now saved, the line-spacing values will, as normal, be saved and hence the specific bottom line offset will effectively be captured - as can be checked by saving and re-loading the saved label definition.

 (Again, experimentation is recommended to assimilate how this feature works.)

7   Numbering button - Clicking this button toggles the following window on/off.




This window allows the user to add sequential integer numbers to each label - either normal numbers with user-chosen start number and increment, or to follow a custom numbering scheme simply defined in a user-prepared text-file.

In either case, the actual number used can, if required, be formatted into a user-chosen fixed number of digits with leading zeros as necessary.

Normal numbering

In the top panel, when the Normal radio icon is selected, the required start number and increment are set in the two associated writable icons. Negative numbers are allowed for both. If an increment of 0 is chosen all labels will contain the same number.

Custom numbering

Alternatively, when the Custom radio icon is selected, the associated pair of icons is enabled and clicking over the menu icon brings up a list of previously-saved user-prepared custom numbering files. Selecting one of these files loads its leafname into the associated icon - from which it will be read automatically when numbering starts.

Each time one of these files is loaded a small window opens, as shown below, to advise you of how many labels will be needed to complete one copy of the complete numbering scheme.




Custom numbering files are ordinary text-files with each line in the format:

	<text><number>

For example:

	24A

	16B

	17CCC

(remembering to press the <return> key after each line, including the last line).

In this example, the first number used would be A1, the next A2, and so on, until A24. Then the following would be B1 to B16 and finally CCC1 to CCC17. (Note the reversal of text/number between file format and printed output.) A complete set would therefore require 57 labels.

There is no limit to the number of lines used and the increment is always 1 for custom numbering.

As can be seen, this format lends itself well to producing theatre tickets for typically numbered rows/seats and each lettered row can be customised to the exact number of seats in that row which often differs from row to row.

When a custom numbering file has been prepared it can be given a meaningful leafname and saved to the special directory CustomNums in the UserRes folder.



Fixed digits

Whatever numbering option is chosen, the small lower panel allows the outputted numbers to be formatted as a fixed number of digits, with leading zeros as necessary. In the case of custom numbering, the fixed format will, of course, apply only to the number part of the output.

Thus, if a fixed 4-digit format is chosen normal numbers would appear as 0001, 0002, etc. - whereas, for the custom format example above the first output would be A0001, A0002 etc. ending at CCC0017.

In fixed format, negative numbers do not affect the number of digits shown - they simply have the negative character as a prefix - and the resulting extra character might need to be taken into account in the label text layout.

(Note that if the start number and/or increment are set to values which cause any of the numbers on any of the labels to exceed the number of fixed format digits the fixed formatting will be overridden on those labels. A quick check of the first and last label is therefore recommended prior to printing.)




The lower part of this window has a row of option icons for each of the number of text lines in the Text lines icon detailed in 1 above - and the window will change correspondingly as the Text lines nudgers are used.

These icons give an independent choice of where the numbering is to appear. The numbering can be added to the text of any line as a prefix (Before text) or suffix (After text) - or both - and it is always separated from the normal text by a single space. Note that no numbering will appear unless at least one of these option icons is ticked.


The normal numbering settings in this window are saved as part of the label definition, but the custom numbering file is not saved.


The appropriate numbering selection is included in any lock action.

(Note also that there is a Show numbers? option button - see 10 below.)



Note that, deliberately, an empty field will still have numbering added to it if that field/line is chosen by the user for numbering - so the field/line then ceases to be empty. This gives the option of having the numbering appear on a line of its own - by simply arranging for the CSV file to hold an empty field in the same place in each record and choosing that field/line to have numbering added. However, adding numbering to a field/line which is not always empty could affect the display if Show blank lines? is unticked. So pre-checking the label display with live records is advisable before printing.

(Note also that completely blank records - see definition later - will still show numbering on the line(s) selected for it. Thus, such records temporarily cease to be regarded as blank records when numbering is applied and, accordingly, the Page display will then show these records in Green rather than Red - as long as the Show numbers icon is ticked. However, the Printing set-up & preview window will still indicate the original value in the Blank records icon throughout. See also SectionG. Printing set-up and preview later.)


As already indicated, if the number of text lines is increased above that of the loaded label definition file the new line(s) will not have either of its Before text or After text options ticked.




8   Colours button - Clicking this button brings up the following menu which allows the text colour of each line to be chosen independently.





Below the dotted line there will always be one menu item for each of the number of text lines in the Text lines icon detailed in 1 above.

Each menu item leads to a conventional colour picker window for selecting the colour - and, on opening, the colour picker window will always show the current text colour of the line involved. (If All same colour is chosen then the initial colour will be that of the first text line.)

The line colours are saved as part of a label definition file.

The appropriate line colour is included in any lock action.

As already indicated, if the number of text lines is increased above that of the loaded label definition file the new line(s) will be given the colour Black.

(From Version 6.10 there is a further option to colour the paper - see Section E below.)


9  Show blank lines* option - This icon allows the user to suppress empty fields within a CSV file record. If the option is ticked, any empty fields will show as empty lines. If the option is not ticked, empty fields will be skipped and the text will shuffle up to eliminate intervening gaps in the text. This option controls both display and printing.

(This icon has a * suffix to indicate that the user can save the desired start-up setting of this option from the iconbar/main menu - see Detailed Operations - H later. As supplied the option is ticked on start-up.)


10  Show quotes* option - This icon allows the user to display/print any double-quote marks which may surround a field in the CSV record. This option controls both display and printing. (Note that a field with simply a pair of double quotes in it i.e. a null string will display these quotes if this option is on.)

(This icon has a * suffix to indicate that the user can save the desired start-up setting of this option from the iconbar/main menu - see Detailed Operations - H later. As supplied the option is not ticked on start-up.)



11  Show numbers option - This icon allows the user to switch on/off (from display/printing) any choices made in the Numbering window whilst leaving those settings still available for saving etc.

Whenever a label definition file is loaded - including on start-up - this option will automatically be enabled and ticked if the file has any of the Before text or After text option icons ticked. If none of these option icons is ticked the Add numbers? option icon will automatically be disabled and un-selected on loading.

If, in the Numbering window, none of the Before text or After text option icons are ticked and the user then ticks one, the Show numbers option will be automatically enabled and ticked. (And if the user subsequently causes all the Before text or After text option icons to be un-ticked, the Show numbers option icon will always automatically be disabled and un-selected.)

Once the Show numbers option icon is in the enabled state it can be un-ticked and ticked at will - to switch the selected numbering on the display/printing off or on without affected the choices in the Numbering window.

If the Show numbers option icon is enabled but off, further changes made to the numbering settings will not affect the label display in the Label Panel. Conversely, if the Show numbers option is on, changes will be reflected in the display immediately - except changes to the writable icons - which, as normal, will await specific display updating.



12  Locks active option - This icon allows the user to switch on/off any selected locks (set in the Fonts window - see 3 above). It works in a similar way to the Show numbers option desciribed in 10 above - in that it will be enabled/disabled etc. automatically to reflect the lock selection state and, when enabled, can be ticked/unticked at will by the user to switch the effects of the locks on/off without losing the settings from the saved label definition.




13  Wrap option - This option is a special feature for special circumstances: normally it will not be needed and the option is off by default. (It cannot be used at the same time as the Clip or Shrink options (below), so that ticking the Wrap icon will untick the Clipor Shrink icon if either is already ticked - and vice versa.)

Usually you will want to print your labels with each line of text corresponding to one field of the CSV record, and you will choose your label size and fonts accordingly. However, you may sometimes have the need to use a CSV file where one or more of the fields has text which might be longer than usual - and/or might vary considerably in its text length from record to record e.g. descriptions in a photographic database.

In such cases, the Wrap? option can help. When activated, the text in all relevant fields (including any text added by user-chosen sequential numbering options or date/time/day insertion) is subjected to a test to see if it needs to be wrapped for the particular line being processed. The test starts with a maximum text width - determined for each line - which is dependent on the text indent and justification settings for the line.

If Left or Right justification is used, the wrap width for a line is the complete label width less the indent value for that line. If Centre justification is used then the wrap width is the complete label width less twice the indent value for that line i.e. centred & wrapped text always has a space of at least the indent value to both its left and right on the line. (In this case only there is a warning if the settings would make the wrap-width too small.)

If the text being wrapped has spaces e.g. typically spaces between words, then the wrapping will seek to break each line at a word end. However, where a section of text exceeds the wrap width without a space then the text will be wrapped to fit the width. (An incentive to use short words!)

When wrapping actually takes place with a particular field, the font/colour/justification/line spacing used for all text in that field will always be the same as that used for the line at the start of that field i.e. wrapped text from one field will always look the same.

Wrapping can be used with any of the other options e.g. locks and these will be correctly observed. On a wrapped line any numbering will, of course, appear either on the first line (Before) or last line (After) of the wrapped text (or both), according to the users chosen settings.

With wrapping, in particular, the user is encouraged to play with the settings to ensure that the effects on the label display are seen and understood before committing to print (or use David Pillings excellent !Sprinter utility to print to sprite).

It is also worth noting that each text field that is actually wrapped will still be regarded by the application as one field. Consequently, wrapping will often produce more displayed/printed lines of text on the label than the value set in the Max no. of text lines icon. No attempt has been made to compensate for this and users needing wrapping will need to take account of this in their label design - usually by leaving room for extra lines on the label.


14  Clip* option - This option allows the text on all displayed/printed lines to be clipped, as necessary, so that it does not show/print outside the label boundary. (It cannot be used at the same time as the Wrap or Shrink option, so that ticking the Clip icon will untick the Wrap or Shrink icon if either is already ticked - and vice versa.)

 Unlike the Wrap option, text will be lost if clipping takes place. When ticked, for any line the exact clipping depends on the text justification and indent value for that line. There is no attempt to clip the text at the end of words - individual characters are simply removed one-by-one from the end of the text line until all the text can be contained within the label - with the text still starting at the chosen indent value for that line. Thus, for example, with left justification and an indent of 5mm the text will still start 5mm in from the left edge of the label and will be clipped, as necessary at its right end. Similarly, with right justification the end of the text will be at 5mm from the right edge of the label. With centre justification the whole width of the label will be used before clipping takes place.

(This icon has a * suffix to indicate that the user can save the desired start-up setting of this option from the iconbar/main menu - see Detailed Operations - H later. As supplied the option is not ticked on start-up.)



15  Shrink* option - This option is an alternative to the Clip option above. Shrink means that if the text of any label line would extend beyond the edge of the label, a user-chosen smaller font-size is automatically brought into play. If the alternative font-size is correctly chosen by the user all the text of a line will stay within the label boundary.

The alternative smaller font-size is chosen by the user in the Fonts window - see 4 above.

In determining whether or not shrinking will be applied, !LaBella uses the same indent/justification rules as with the Clip option.

(This option cannot be used at the same time as either the Wrap or Clip options (above), and ticking the Shrink icon will untick the Wrap or Clip icon if either is already ticked - and vice versa.)

(This icon has a * suffix to indicate that the user can save the desired start-up setting of this option from the iconbar/main menu - see Detailed Operations - H later. As supplied the option is not ticked on start-up.)



16 Show graphic option - This option allows the presence of a loaded drawfile to be switched off/on from the label display.

When no drawfile is loaded this option icon will be disabled and it will automatically be enabled and ticked when a drawfile is loaded i.e. loading a drawfile will cause it to be initially displayed on the label display.

It is probable that the user will wish to keep a loaded drawfile showing on the label display, but the option to turn it off is there.

This option does not affect the appearance of a loaded graphic on the page display - see More on Printing set-up and preview.



17  Default text/Live text radio icons - This pair of radio icons allows the user to switch the displayed text on the single-label display only between the default text (for the current label shape) and the currently loaded live text. If no live text is loaded - as at start-up, for instance - the Live text radio icon will be disabled.

Whenever a live text file is loaded, the Live text radio icon will be automatically enabled and selected - as the user will normally wish to see the newly-loaded live text straightaway.

If a live text file is currently loaded, selecting the Default text radio icon will not affect the Page display nor the printing options: both will still reflect the loaded live text. (As previously explained, if no live text is loaded the Page display will be empty and the printing options disabled.)

As mentioned briefly earlier, the Add postal barcode option will initially be disabled until live text is first loaded. Thereafter it will be disabled/enabled in sympathy with the Default text/Live text radio icons status.




18  Control of Record number displayed - This group of icons allows the user to view the contents of any record of a loaded live text file. (The group is disabled if the Default text radio icon is selected.)

For convenience when using large files, pressing the <shift> key whilst using the ordinary nudgers will change the record number by 10 (or the maximum possible, if less than 10) instead of 1. There are also two extra nudgers to step immediately to the first/last record of the file.

If a new live text file is loaded when the displayed record number is higher than 1 then this record number will not be altered and the new file record with that number will be displayed initially. However, if the new file has less records than the displayed record number then the record number will be reduced to the last record number of the new file and this last record of the new file will be displayed.





19   Edit button - Clicking this button - which is enabled/disabled as part of the group of icons described in 16 above - toggles the following window on/off.







This window allows the displayed record in the loaded live text file to be amended or deleted. A new blank record can also to added to the file. It
also has a  Delete blank  records... button already  described in  Detailed
Operations, Section B.13.

It is important to realise that this window has one writable icon for each field of the loaded live text file - which may be different from the current number of Text lines. If there are more fields than Text lines then the icon(s) for the excess field(s) will have a shaded background. (Thus, in the above screen-shot, there are 7 fields-per-record in the loaded live text file but the current number of Text lines is 6. Also, Fields 3, 6 & 7 are blank.)

The text displayed in the Edit window will be the raw text as contained in the CSV file and not necessarily the same as the text currently appearing on the label display. For instance, the date/time/day insertion codes (see a little later) will be seen in the Edit window, but will have been converted in the Label Panel display. (This is shown in Field #6 in the screenshot.) Similarly, any sequential numbering will be absent in the Edit window and all blank fields will be shown irrespective of the status of the Show blank lines option in the Label Panel.

The nudgers allow the user to step through the records and they work identically to those described in 16 above - and the two displays will stay in sympathy as either one is altered.


Amending a file is simply a matter of editing the appropriate writable icon(s) in the usual way. An asterisk immediately appears in the title bar of the Edit window as changes are made - and this will not disappear until the changes have been incorporated into the CSV file by clicking the Amend file button, or the changes are discarded by user action. Clicking the Amend file button also updates the label display as appropriate.

The Clear record text button clears all the text from the shown record.

Deleting the shown record is immediate on clicking the Delete shown record button. However, if the file only contains one record a warning will be displayed and you will not be allowed to delete it.

Adding a new blank record is straightforward: clicking the Add new record... button brings up a small window as below, giving a choice of where the new record is to be placed in the currently loaded live text file.


After making the choice, clicking the Add record button adds the new blank record (with the correct number of fields) at the chosen place and displays the new empty record - automatically altering the displayed record number etc. (so the label display will then consequently be blank).


For those using the !Organizer application it is useful to note that the Paste at Cursor menu option in its address book can be used to output addresses directly into the record currently shown in !LaBellas Edit window. It works best if the displayed Edit record is cleared of text (i.e. either a new added record or by using the Clear record text button). Simply put the cursor in the first record, display the required address in Organiser and click menu over that address. Selecting Paste at cursor will then copy the address directly into the Edit window - in correctly separated fields.



Due to the nature of the Edit window, it is very easy to lose intended editing changes by taking other actions when an asterisk is in its title bar. For example, if you make text changes in the Edit window - causing an asterisk to appear in its title bar - and then step to another record in the Label Panel before clicking the Amend file button, the new record will be displayed immediately and the Edit changes will be lost (and the asterisk will be removed).

There are other actions that will similarly result in loss of the editing changes. It is therefore strongly recommended that you press the Amend file button as soon as any editing changes have been made - and this advice is given prominently in the Edit window itself.

Unless No warnings has been chosen, the only times when a warning is given about incomplete action in the Edit window is if the user attempts to:

a) close the Edit window from the normal Close icon, or

b) quit the application.

(In passing it is worth noting that on quitting it is possible to get two warnings in succession - one due to unsaved label changes and one from incomplete action in the Edit window.)



The CSV record editing facility is therefore very convenient for making minor amendments, such as typing/spelling errors noticed when stepping through a CSV file, but the user actions in the window should best be completely finished each time without diversion.


Please note that using !LaBellas Edit facility to amend a record will always set that records number of fields to the defining number for the loaded live text file (e.g. as in its first record - see Some comments about CSV files) So you will lose some fields if you do this with a record which starts with more fields than the defining record.


(Finally note that the Edit facility only operates on a loaded live text file. It cannot be used to edit a default CSV file. If you wish to change any of these you need to prepare appropriate files and substitute them in the folder Defaults.CSV using normal RISCOS Filer actions.)



20 Add postal barcode option - This option allows the standard UK postal barcode to be added to an address once live text is available - assuming that the PObar font is also available - see Detailed Operations - F later.

When this option is enabled and ticked the associated icons to the right of the option icon will also be enabled. (All are in Dark Blue to provide better identification.)

The option works by reading a conventionally-written UK postcode from the address record and converting this into the barcode which is then displayed/printed below/above the address as an addition. Normally the written postcode would also be expected to be printed as part of the address, but that is a user-choice.

Using this option imposes some mild constraints: the most important is that the loaded live CSV file must contain normal UK postcodes and they must all be in the same field in each record.


The group of icons to the right of the option icon allow the postcode field which is to be used for the barcode conversion to be specified - and when a new CSV file is loaded the value of the last field is always entered here automatically (purely for user-convenience as many address files will hold the postcode in or near the last field) but it can be changed with the nudger icons.


Note that the specified postcode field is independent of the chosen Text lines value, so it is possible that the specified postcode field will not be displayed. However, if the option is chosen, the barcode will still appear even if there are insufficient label lines selected to show the postcode field.


The barcode will always appear below the final printed/displayed line of the address (or above the first line of the address) and it will be left-justified with an indent the same as the line of the specified postcode field. More details are given in the section Detailed Operations - F later


For normal domestic UK postcodes tha above actions are sufficient, but !LaBella also caters for the use of the Delivery Point Suffix and, again, more details are given in the same later section.


Please note that in the UK the Royal Mail specifies that, when used, the barcode should be below the address.


D   Page Panel

As already indicated, this panel is displayed when the Page on view radio icon is selected in the Control window. It is the window (pane) in which the layout of the overall label sheet is designed. Most importantly, it also serves as a preview display for printing.





The above screen-shot represents a 27 sheet of standard labels on an A4 sheet. As indicated, the page scale is 40% and the page is shown Upright i.e. in portrait mode.

The thin red stripe at the top of the page display denotes the top of the printed paper sheet as seen by the printer sheet feeder. In portrait mode, the top of the sheet is the same as the top of the displayed layout. However, when sideways printing is chosen, the situation is perhaps not as obvious and the red stripe then becomes more helpful - see a little later.

This screen-shot shows the situation when a live text file has been loaded, which causes preview text to appear on appropriate labels. This is described in detail in Section G a little later.

There are only four items to describe in the Page Panel itself:

    Measurements button - This button is identical to - and in the same position as - one in the Label Panel, which has already been introduced in detail in Section C.3. Either button may be used.


  Page scale - The scale of the page display and the scale of the label display are independent of each other (and neither affects the printing scale, which is always 100%).

As a typical page is A4 size it is normal to use a page scale less than 100% and 40% is usually convenient - as in the screen-shot. If a higher scale is needed - perhaps temporarily to view a label/graphic position more closely - then the scroll bars can be used to limit the overall size at the higher scale. (Using <shift> with the nudgers will change the scale by 10% instead of 1%.)

The minimum and maximum page scales are set by system variables in the !Run file. As supplied they are 20% and 400%.


  Show print margins* option icon - This option works in conjunction with the configured paper size in the currently active printer driver. The configured overall paper size - as shown in the Orange icons in the Miscellaneous window - is represented by the Grey rectangle forming the background to the page display. The left edge of the paper is always at the left edge of the page display. The Pale Yellow area shows the configured printable area of the paper. Thus the non-printing margins show as the thin Grey margin around the larger Pale Yellow area.

The Pale Yellow area will always be partially covered by the depicted labels - and for successful printing all labels need to be wholly within the Pale Yellow area. (The positioning of the labels and their size and number of columns/rows is set from the Measurements window available via the corresponding button in the Control window as already described earlier.)

The Show print margins option is normally best left ticked, to ensure that the non-printing margins are clearly shown. If it is unticked the Pale Yellow area disappears. (This icon has a * suffix and so the user-desired start-up setting of this option can be saved using the iconbar/main menu.)

An added feature of this panel is the User paper-guide which can be set in the Miscellaneous window and appears as a dotted rectangle on the page display. (In the above screen-shot, the as supplied situation is shown and the dotted rectangle is A4 size and thus appears at the edges of the page display.) This paper-guide has no effect on any operation and, as it says, is merely intended as a user-determined guide. It can be helpful if the actual paper being used is not the same size as the paper configured in the currently active printer driver.


  The Red Preview sheet # icon above the displayed page shows which sheet of labels is currently on display and it will initially show Sheet 1. (This icon is disabled until a live text file is loaded.)

The page display is often used in conjunction with the Printing set-up window and when the printing task would take more than one sheet of labels - depending on the users live text file and choices of number of copies etc. - each sheet can be stepped through to preview the printing.


The important printing preview aspects of the label display are described in Section G below.



Sideways printing

It is now convenient to introduce the Sideways radio icon - in the Control window - in more detail. It was briefly introduced in Section B.13 earlier.

When this radio icon is selected it effectively turns the page layout into landscape mode, to offer the facility to print sideways. The following screen-shot shows the same set-up as in the previous screen-shot except that Sideways is selected instead of Upright.




The top of the paper sheet (as far as the printer sheet feeder is concerned) is still indicated by the thin red stripe - but now it is at the extreme right edge of the sideways page display.

Note also that the label position numbering relative to the red stripe remains the same as in the portrait mode - but, of course, Position 1 now appears at the top right corner of the page layout display and now proceeds from top to bottom and from right to left on the display. i.e. the label position numbers remain unaltered as far as the printer is concerned.

As can also be seen, with Sideways selected, the text (and any graphic) remains upright i.e. the text is now sideways with respect to the label - and returning to the Label Panel will show this more clearly - with the individual label also turned on its side. (Because of this, text and/or graphic positioning will need to be adjusted afresh for the sideways display.)

You can, if you wish, define and save label definitions with the Sideways? option ticked. They will load correctly, as defined.


The Sideways option is particularly useful for printing onto envelopes and there are two such label definitions supplied; both for a standard DL size envelope, treated as 1-label-per-sheet and intended to be fed into a printer by its short edge - one label definition for centralised feed and one for edge feed.




E Paper colour

Normally, the background colour of the label on the Label display window (and the labels on the Page display window) is White. However, if required, this colour can be changed by the user simply by clicking the <menu> button over the label or page display to bring up the following Paper colours menu:



The top item leads to a conventional Colour Picker window and clicking on its OK icon after choosing the colour will fill the label shape(s) with the chosen colour. This colour will persist whilst the current label shape is being used.

The second item allows the colour currently displayed on the label to be saved for easy future re-capture, via a Save colour window. As with other parts of !LaBella, saving would best be done using the OK button in the Save colour window - after editing the offered leafname if required. In this way the colour will be saved to the PaperColours folder in the UserRes folder. Any files saved in here will listed at the bottom of the above Paper colours menu from where they can be retrieved (and deleted).

The third item simply removes any colour and returns the display to the default state.

When the menu contains any listed (pre-saved) colours - as above - selecting any of them will immediately cause the label background to change to that colour.


One of the uses of this paper colour option is for label design purposes when the intention is to print labels via a printer loaded with coloured paper. It can then be helpful to be able to check the colour contrasts etc. before committing to print.

For this reason the Printing set-up and preview window has an option icon Print paper colour to switch a displayed paper colour on or off during the printing process.

This option therefore gives the choice of printing labels with the displayed background colour being applied during the printing process (to whatever paper is in the printer) - or to turn off the paper colour and use a printer loaded with paper of the same colour as that displayed.

Note that, in keeping with its print preview role, toggling the Print paper colour option will switch a displayed paper colour on/off on the labels on the Page  display - but not on the Label display. (Note that the Print paper colour option is always ticked automatically when a new p aper colour is chosen, to ensure that the user is initially aware of the new colour when using the Page display.)




F   UK Postal Barcodes

The main operations to use the barcode option have been described earlier in the section C Label Panel - sub-section 19.


The option will not be available unless the PObar font (designed by Kevin Simpson and as supplied with David Pillings OvationPro application) is installed on the computer. With David Pillings kind permission a copy of this font is included with the !LaBella application and can be found in the !Fonts folder in the Defaults directory. It should be installed in your computer in the usual way.


Basic postcode

The basic UK postcode comprises a series of letters and numbers representing an outward code e.g. UB7, followed by an inward code e.g. 7QA. The whole basic postcode is typically written as UB77QA with a space between the two parts. The overall sequence letters/numbers/numbers/letters is standard but the number of characters in each part can vary. The basic postcode is not normally unique to an individual address but rather covers a small group of addresses e.g. 6-10 neighbouring homes, or many more addresses in a shared building.


When converting this basic postcode into a barcode further characters are added and these are:

- an additional two-character default Delivery Point Suffix (DPS)

- a single checksum character

- a pair of barcode start and stop indicators.


The purpose of a DPS is to allow the postcode to be refined so that the barcode can point to a unique letter box within the group of addresses covered by the basic postcode. The DPS consists of one number and one letter, in that order e.g. 1E. The assignment of DPS values is controlled by the postal service operators.


In practice, most domestic addresses do not have a DPS and an approved default DPS is used in these cases - it serves solely to ensure that all barcodes have a common format. LaBella uses the approved default DPS of 9Z.


Note that, whether a barcode is used or not, the basic postcode-without-DPS should always be shown in its usual written form as part of the normal printed address.


When !LaBella converts the user-specified postcode field into a barcode any spaces are ignored and (just in case) conversion to upper case takes place. Also, some checks are made to ignore text which is clearly not a postcode (mainly to avoid distraction on the display if the wrong field is chosen).


The resulting barcode is always displayed/printed in Black using the PObar font at 14pt - which is the point size necessary to meet the barcode size specification of the UK postal services.


If the (normal) Below option is chosen, the barcode will always be positioned a little below the last displayed/printed line of the address (and can therefore be at different vertical positions on different records if some preceding fields are empty and Show blank lines is unticked). If Above is chosen, the barcode will be positioned a little above the first line of the address.

Also, irrespective of the justification set for the specified postcode field, the barcode will always be left justified with a left indent equal to that of the specified postcode field.


These arrangements will usually locate the barcode in an acceptable place but, in themselves, do not guarantee that the barcode will be wholly on the label - or that its position will comply with the requirements of the UK postal services. This is left to the user to ensure, which is particularly important when addresses are printed directly onto envelopes. (Generally, to meet the requirements of the UK postal services, the barcode needs to start at least 15mm in from the left edge of the envelope and be at least 18mm above the bottom edge.)


Note finally that the barcode is not subjected to any of !LaBellas wrapping or clipping options which the user may have chosen, so it is important for the user to check that all is well by viewing the Label panel display prior to printing. Only a few records need to be checked because the width of barcodes will not vary by much - at full size, between 38-52mm approximately.


Using real Delivery Point Suffixes

If you know and wish to use real DPS values with !LaBella then some additional simple preparation is needed in your CSV address file.

First, copy the basic postcode field into a new extra field at the end of the record. (If you have a large address file then !CSVamp makes adding this extra field very easy.)

Then, for each record, add any known DPS value as a suffix to the end of this new field.  If you do not know the real DPS for any address there is no need to add a default DPS to this new field: just leave the basic postcode without a suffix in these cases.


Then, in the Label panel, ensure that the new field is pointed to as the specified field for barcode conversion, instead of the original basic postcode field. Set the text indent of this new field to the indent you want for the barcode (the barcode printing will ignore the justification setting).

Finally, select sufficient Text lines to show/print the address with the basic postcode field included but with the new field not shown. Thus, the original postcode field is used as normal as part of the displayed/printed address and the new field is kept hidden but used for the barcode conversion.


To show an example, a CSV address record for real DPS usage might be:


Captain Kirk,Federation House,National Space Park,Earth,E12 4HJ,E12 4HJ3D



Thus, Field 5 contains the basic postcode and Field 6 contains the postcode-plus-DPS (here, the DPS is 3D).

After loading this CSV file, the specified barcode address field will be automatically set to 6. The Text lines should now be temporarly set to 6 and an indent chosen for Line 6.  After that, the Text lines should be set to 5 - to hide Field 6.

The barcode (converted from Field 6) will then appear below the displayed/printed Field 5 with the left indent as set for Field 6.


The only other precaution you may wish to consider is to add some additional blank fields before the above-shown final field (and reset the specified barcode conversion field accordingly). This would ensure that the last field never appears in display/print even if some of your other address fields in some records might be blank and you decide to untick Show blank lines to get rid of those blank lines.




G Printing set-up and preview

It is now convenient to examine the printing set-up and preview in more detail.

The following screen-shot shows the page display with the associated Printing set-up window also open. In this case, both a live text file and a drawfile graphic are loaded - and the Print graphic? option is ticked, ensuring that the graphic is displayed on appropriate labels.





In general, all the choices affecting the visible text in the Label display will be reflected through to the printed output (except the Default text/Live text choice which does not affect the page display at all).

And importantly, as already mentioned, the page display is also intended to give a printing preview.

Thus, in the Printing set-up part of the above screen-shot, the loaded live text file has 9 records, one of which is blank (Record 3). The user has opted to start printing at Record 1 and end at Record 9 - with one copy of each record and starting the printing on label number 1. For these choices - for the loaded label definition file - only 1 sheet of labels is necessary and hence Preview sheet 1 is the only one available.

Corresponding to this, special preview text appears on the labels of the page display - showing which record and which copy number will appear at which label position. The format for this preview text will normally be (in Green) Record n, Copy x but if the label size and/or chosen page layout scale reduces the displayed label to be too small to show this then the preview text changes to a shorter version Rn, Cx or, if very small indeed, to only . . .

If a label position is not intended to have print on it - due to it being on the first page before the chosen starting label or on the last page after the final label needed - then the preview label position will appear blank - as for labels 10-14 in the above screen-shot.

However, if the record that would appear at an otherwise valid position is a blank record then the preview guide text will be in Red instead of the normal Green as for label 3 in the above screen-shot. (Note that if Numbering is applied - and the Show numbers icon remains ticked - blank records will be treated temporarily as non-blank for the purposes of this preview Page display i.e. they will show as Green, but the value in the Blank records icon will remain unaltered.)

This enables you to assimilate the situation quickly. If you wish to see the actual text which will be printed on any label then you should switch to the Label Panel and select the appropriate record number.- after ensuring that the live text option is selected.

Altering the values in the Printing set-up window immediately effects the Page Panel display and it is therefore very easy to preview the effect of calling for more copies of each record and/or restricting the range of the records-to-be-printed and/or changing the starting label (which applies to the first sheet only, of course).


Looking now at the loaded graphic, and noting that the Print graphic? option is ticked, the graphic appears on all labels with Green preview text - but not on the label showing Record 3 - the empty record. This accords with the fact that the enabled on empty labels too? option icon remains un-ticked.

The Print graphic? option is automatically enabled whenever a drawfile graphic is loaded. But should you wish to print without the loaded graphic appearing, you can un-tick the Print graphic? option prior to printing - and it will then disappear from the Page Panel display and will not be printed.


The Sequential numbers on copies? option (see a little later) is disabled, so we know that no numbering options are in place i.e. either no numbering options have been set or the Show numbers option in the Label Panel is enabled and unticked.

Changing any of the features or user-choices will alter the page display (printing preview) accordingly.


If a label definition with the Envelope shape is loaded two special features come into play automatically. The first is to respond to the fact that there will be only 1 label per page and envelopes will normally be printed one at a time.

In this case, when a new live text file is loaded (or the label shape is changed to Envelope when a live text file is already loaded) the printing set-up values will change automatically to show the Start record and End record  as the same number (the record number currently selected in the live text label display) with 1 copy of each record and starting at label position 1. If you step through the records (in the Label Panel) the printing preview value will change in sympathy. The only point that needs to be remembered is that if you then change the label shape to something other than Envelope these printing set-up values stay the same and will not be reset to the more normal pattern until a new live text file is loaded (or the same one re-loaded).


The second special feature for envelopes is the Reverse envelope feed option. This option will only be enabled when an envelope shape is loaded - and the option is un-ticked by default. When ticked, it effectively allows an envelope to be fed into the printer the other way round. For example if, with a sideways envelope label definition, the envelope is normally fed into the printer with the right-hand short edge leading, then ticking this option will allow the envelope to be fed into the printer with the left-hand short edge leading. The advantage of this is that envelopes of different sizes can then often use just one envelope label definition without the address being printed off the paper e.g. a C6 envelope can use a DL envelope label definition.



There are two further options which are exclusive to printing and independent of both label and page displays:


 - The first is the Print label outline? option, which allows an outline of each label to be printed. This is a helpful option when, for instance, you wish to check the precise setting up of a page for your printer. (If you have more than one printer you may well need to produce slightly different label definitions for each - to cater for, for instance, different paper feed mechanisms.)

- If the Sequential numbers on copies? option is enabled it offers an extra option. Normally when numbering is added, if you choose to print more than one copy of the chosen records then all the copies of one record will have the same number. (For instance, if you set the sequential numbering to start at 100 with an increment of 1 - and you also choose to print 3 copies of each record, starting at the first record - then the 3 copies of Record 1 will all be printed with the number 100, the 3 copies of Record 2 will all have 101 on them, and so on.

However, by ticking the Sequential numbers on copies? icon the numbering will ignore the number of copies of each record and simply run consecutively on each printed label. This will allow, for instance, a large number of copies of just one record to be printed, each with a different number - useful for producing numbered tickets.


Finally, the bottom right section of the window allows yet further flexibility with the printing. From here you can, if you wish, restrict the actual printing to a single sheet or a consecutive range of sheets. If you choose a single sheet the one printed will be the one currently shown in the preview display page.


Note that there is currently no option to skip blank records, as this would cause problems with offering some of the provided printing flexibility. However, the location of blank records is shown on the preview pages and this could therefore be used to get rid of the blanks or restrict the range of records to avoid blank ones.






Starting the printing

When you are satisfied with your choices - not forgetting to choose the required Print paper colour option, if appropriate - pressing the Start print button is all that is necessary. A small progress window will be displayed and an hour-glass will show that print processing is under way.

Dont forget that it may take a while for the printer to kick in even after the hourglass has disappeared, particularly if you are printing several pages of labels in colour with a graphic superimposed.


As mentioned before, you are encouraged to check that the result on screen is as expected (and as wanted) before committing to print - and perhaps doing a single sheet output on ordinary paper first, with Print label outline? ticked. (Or, for a few pages only, use David Pillings !Sprinter freeware, to print to sprite.)


Finally, please note that the edges of labels are not printing limits. So if your text (or graphic) runs over the edge of a label - which will be evident on the Label Panel display if the correct live text record is shown - it will be printed fully on the sheet (up to the printer margins, anyway). This can be either a good thing or a bad thing: it is bad if the printing runs into an adjoining label - but it is good when you want to, say, overlay a rectangular graphic onto a circular CD shape. Thus, as has been mentioned before, it is safest to step through the live text file records before printing and/or do a limited test printing first.

H The iconbar/main menu

The iconbar menu is shown below, and the same menu can also be obtained by clicking <menu> over the main windows.



The Info, Help and Quit items need no explanation.


Change label shape - Moving the mouse pointer over the arrow of the Change label shape item produces the sub-menu as below.


 The ticked sub-menu item indicates the label shape currently in use.


Selecting any of the sub-menu items above the line will cause the label shape to change and its corresponding default label definition file to be loaded. The default CSV file will also be changed to correspond - but this default text will only show if the Default text option is selected.

Selecting the submenu item below the line i.e Use this shape at start-up, will make the currently ticked shape the start-up shape, with the corresponding default label definition and default text showing on start-up. (Note that this action will create a StartUp file if one does not already exist - see below - or re-create it if one exists.)


Warnings - Moving the mouse pointer over the arrow of the Warnings item produces the sub-menu as below.



The ticked sub-menu item indicates the warnings choice currently in use.

The above-the-dotted-line warnings that this submenu choice applies to are user-actions which would:

A - discard label changes which have not yet been saved, when:

(i) quitting the application;

(ii) loading a new label definition file.

B - save a label definition file with the same pathname as an existing file in the destination directory.

C - save (to the UserRes.LabelData directory only) a label definition file containing the same label name as that in a label definition file already in that directory.

D - overwrite the default label definition file for the current label shape.

E - discard changes made in the Edit window which have not yet been used to amend the currently loaded CSV file when:

(i) quitting the application;

(ii) closing the Edit window from its Close icon.



The menu options result in the following reactions:

	Full warnings	Partial warnings	No warnings

A (i)	      Yes		         Yes		        No

   (ii)	      Yes		         No		        No

B	      Yes		         Yes		        No

C	      Yes		         No		        No

D	      Yes		         Yes		        No

E (i)	      Yes		         Yes		        No

   (ii)	      Yes		         Yes		        No


	where Yes means a warning is given.


Selecting the submenu item below the line i.e Use this choice at start-up, will make the currently ticked warning option the start-up one. (This action will create a StartUp file if one does not already exist - see below - or re-create it if one exists.)



Save window positions - Selecting this item from the iconbar/main menu will cause the current position and visible size/scrolls of all of the main windows to be saved to separate files in a sub-directory called Windows in the <Choices$Write> directory. The saved positions will then be used the first time these windows are opened after start-up.

The file names for the windows saved are:

Wcontrol - the Control window

Wsaveoptions - the Save options window

Wmeasure - the Measurements window

Wgraphic - the Graphics window

Wprinting - the Printing set-up window

Wmisc - the Miscellaneous window

Wsetfonts - the Fonts window

Windents - the Indents window

Wlinespc - the Line spacings window

Wbottomline - the Bottom line options window

Wnumbers - the Numbering window

Wedit - the Edit window

Wchoices - the Start-up choices window

Wcsvblanks - the 'CSV blank records' window

Each file is in a simple 6-line text format:

Screen OS position of left edge of window

Screen OS position of bottom edge of window

Screen OS position of right edge of window

Screen OS position of top edge of window

x scroll in OS units

y scroll in OS units

(Note that as supplied there are no saved window positions but all windows will open initially to the left of the screen to assist users with 800600 displays.)


Start-up choices... - selecting this menu item opens the following window, from which various start-up choices can be set and saved.





When saved, the settings in this window are saved to a file called StartUp in the <Choices$Write> directory. As supplied this file does not exist.

If a StartUp file exists when the above window is first opened, the selections it will show will be those in the file.

If a StartUp file does not exist when the above window is first opened, then most of the selections will be those currently set in the operating application - see below. The exceptions are the Use a favourite at start-up option which will be unticked (and its associated items disabled) and the Clip selected and Shrink selected option icons will be unticked.

Apart from the Use a favourite at start-up option, all the option icon choices in this window have a counterpart in one of the main windows of the application in which their labels are suffixed with a * e.g. Show quotes* in the Label Panel. This is merely a helpful reminder that those option settings can be saved for start-up. However, it should be noted that, if a StartUp file does not exist, the selections in the above window will automatically change in sympathy with changes made in the application.

Irrespective of the state of the window when it is opened, the user can make a free choice of the selections for subsequent start-ups and save them in a <Choices$Write>.StartUp file by clicking on the Save settings button - without affecting the current settings in the running application. Once this file exists the settings in the above window will not alter automatically.


The Use a favourite at start-up option needs further explanation. If this option is ticked its associated items are enabled and clicking on the menu icon will bring up a menu of any currently saved Favourite files. Selecting any of these will put the file leafname into the icon and then clicking on Save settings will add that favourite file leafname to the StartUp file. On subsequent start-up the application will then load the chosen Favourite instead of the usual defaults.


The menu item Open choices directory is for user convenience. At start-up the application always creates a main Choices directory called LaBella and selecting this menu item will open it immediately for user inspection.


Similarly, the menu item Open UserRes directory is also for user convenience. This directory always resides in the application directory and contains all the custom user resources e.g. label definition files, live text files, drawfile graphics files and favourites files. Selecting this item will open the directory immediately so that the contents can be examined.



Inserting Date/Time/Day codes into a CSV file


LaBella allows the current date and/or time and/or day to be inserted automatically into the displayed and printed output.

All that needs to be done is to insert special codes into the CSV field(s) as required. These codes are as follows and are case-sensitive:

<<DATE>> for the date in the format 02 Feb 2005

<<TIME>> for the time in the format 16:04:09 (hr:min:sec)

<<DAY>> for the day in the format Sun (Sunday)

(These should be the local values and configured language.)

An example CSV file is included in the UserRes.CSVFiles directory, called SuppliedCD2 - and the Date feature was seen in a screen-shot earlier.

The only practical point to note is that the initially-shown date/time/day on the Label Panel display will be the values at !LaBella start-up, but on printing the values will be those cutrrent when the Start print button is pressed (and the display will then show this new value after printing is finished).





Saved Default and User data


Inside the application directory there are two special sub-directories, called Defaults and UserRes respectively, which are used to store label definition files, CSV files, Label shapes, drawfile graphics, csutom numbering, custom paper colours and favourites.

In addition, the <Choices$Write> directory is used to store user-chosen start-up choices.


  Defaults - This folder holds three sub-directories called Labels, CSV and Shapes, as follows:


 - Labels This sub-directory holds one default label definition for each of the basic label shapes that are offered. The files are named DefLabel1, DefLabel2, etc. and the suffix numbers correspond to the iconbar/main label shapes submenu item number - with the top item being 1.

One of these default labels is loaded and displayed on initial start-up. One will also be loaded and displayed when the user presses the Return to default label button.

You can substitute any of these default label definitions with any other valid label definition and the preferred method of doing this is covered in the description of the Save label.... button earlier.



 - CSV This sub-directory holds the CSV files that provide the default text (as opposed to live text) shown on any label display. There is one CSV file for each basic label shape and the files are named DefText1, DefText2 etc. with suffix numbers as described above.

You can change these default files if you wish but you cannot do this from within the !LaBella operations. Instead, changes will need to be made by constructing replacement CSV file(s) and substituting them with the same filename(s) using the standard RISCOS Filer actions.

Each default CSV file is a single record file. It doesnt need to be, but only the first record will ever be used. As long as the file is in CSV/TSV format it can be either CSV (&dfe) or Text (&fff) filetype.

It is best if the single records in these files each contain more fields than you are likely to use, so that blank text does not occur as/if you increase the maximum number of text lines on a loaded label.

If you do construct replacements for these files dont forget to include a <return> at the end of the last (maybe only) record.


 - Shapes This sub-directory holds the drawfiles containing the master drawings of the basic shapes offered. In the same pattern as the other default files they are named DefShape1, DefShape2 etc. with suffix numbers as described above. They must not be changed and are locked to deter this.


  <Choices$Write> - in this directory, in a sub-directory called LaBella, two types of user-choices may be stored (but none are essential for operation). They are:

StartUp - this is a text-file which - if present - holds the userchosen start-up choices set and saved from the Start-up choices window, which is available from the iconbar/main menu.

Windows - this is a sub-directory which - if present - holds the start-up positions and visible size/scrolls for most of the windows. It is created directly from the iconbar/main menu.




  UserRes - This folder holds six sub-folders called CSVfiles, LabelData, LabelPics, CustomNums, PaperColours and Favourites which are designed to hold your own custom CSV files, label definitions, drawfile label graphics, custom numbering scheme files, custom paper colours and favourite files, respectively.

 - CSVfiles (As supplied, this sub-folder contains example files.) Use this folder as a convenient place to hold any CSV files which you expect to use frequently. Any file with the file-type CSV (&dfe) or Text (&fff) stored here will appear on the list (of file names) which appears as a menu when you press <select> over the menu icon to the right of the Pale Yellow icon labelled CSV file at the top left of the Control window. (So do not use this folder to store text-files which are not in CSV format!).

Even if a CSV file is not stored here you can always load it by dragging it to the main window.

The automatic menu system for CSV files permits the use of one level of sub-directories, if you wish i.e. you can place your CSV files directly in the CSVfiles directory and/or in sub-directories at the same level as the files. (But you cannot have further sub-directories inside these sub-directories.)

If you organise your CSV files in this way, the names of any sub-directories will appear in square brackets on the top level of the CSV menu and will have the usual sub-menu arrow-heads leading to their respective sub-directory contents - from which selections can be made in the usual way. (Do not use CSV file names with the opening square bracket character [ as their first character!)


 - LabelData (As supplied, this sub-folder contains example files for several popular proprietary self-adhesive label sheets.) The management of this folder is slightly different because it is used by the application both for reading and saving label definitions - and the label name is vital to the automatic association of a label shape. Label definition files have a format unique to this application and are given the file-type &1C3 (labella).

The files in this folder are read when you press the menu button in the top right corner of the Control window. The application extracts the (user-chosen) label definition name from each file and presents these names - together with their file leafname - in a menu for user-selection. Files can also be deleted from this menu by using the submenu attached to each item - see earlier.

The actual file names used in this folder are not important and are only used in the menu to aid identification by the user.

When saving a new label definition (i.e. using Option 1 in the Save label.... button in the Control window - see earlier) the application automatically shows the path of this folder together with a suggested leafname - of the format Labelxxx, where xxx is a fixed format 3-digit number with leading zeros as necessary. The value of xxx is simply one more than the existing number of label definition files in this directory at the time the Save label.... button is pressed - whatever their filenames. E.g. if the existing contents of the directory were three &0aa files named First, Label2 and Sticky then the suggested leafname for saving a further file would be Label004. This is a reasonably safe suggestion but it is by no means foolproof, particularly if you change the contents of this folder in any other way.

Even if a label definition file is not stored here you can always load it by dragging it to one of the main windows.


 - LabelPics (As supplied, this sub-folder contains a few simple drawfiles.) Use this folder as a convenient place to hold any drawfiles which you expect to use frequently as label graphics. Just drag your own drawfiles into this directory. Any drawfile stored here will appear on the list (of filenames) which appears as a menu when you press <select> over the menu icon to the right of the label Load filed pic in the Graphics window.

Even if a drawfile is not stored here you can always load it by dragging it to one of the main windows.

If you save a label definition whilst a graphic drawfile is loaded and on display then a copy of the loaded drawfile will automatically be saved to this directory for your future convenience.

Dont forget that your drawfiles must not exceed the (user-changeable) maximum size set in the !Run file. You will be warned about this if you try and a suggested new value willbe offered in the warning box - but it will be up to you to change the !Run file accordingly.


- CustomNums (As supplied, this sub-folder will be empty.) This folder is used to store custom numbering scheme files, each of which is a text-file in a special format - described in the main Manual text.


- PaperColours (As supplied, this sub-folder will be empty.) This folder is used to store custom paper colour files, each of which is a text-file in a special format. Saving colours to this file is carried out using the Save colour save box accessed from the Paper colours menu. Details are in the main Manual text.


- Favourites (As supplied, this sub-folder will be empty.) This folder is used to store favourite files, each of which is a text-file containing two full path names of a label definition file and a live text file which the user has saved as a favourite combination.


   Saving is carried out directly by using the Save favourite button in the Control window. You can save as many favourites as you wish - and can also choose one of these to be loaded at start-up.


User-changeable limits etc.

  The application employs several limit values which are set with system variables in the !Run file and can be altered by the user. (Dont forget that increasing any of the values might bring a consequential need to increase the WimpSlot value - also in the !Run file). All these system variables are removed again when the application quits.

They are:

 - LaBella$FallbackFont (Initially set to Trinity.Medium) It is necessary to guard against a label definition file containing a font which does not exist in the users particular machine. This font will then be used as a substitute (alerted) in such cases. It is also used as the initial font when you add extra lines to an existing label definition. If your label definitions might be used on more than one machine or you sometimes change the fonts on your own machine, it is essential that FallbackFont is a font found on all RISCOS machines!

 - LaBella$FallbackPoint (Initially set to 12) This point size is used as the initial point size when you add extra lines to an existing label definition.

 - LaBella$Maxrecords (Initially set to 10000). The maximum number of records allowed in a loaded CSV file.

 - LaBella$MaxFieldsPerRecord (Initially set to 24). The maximum number of fields allowed for one record in a loaded CSV file. (Increasing this value is not recommended - it is memory hungry.)

 - LaBella$MaxLabelsPerSheet (Initially set to 100). The maximum number of labels allowed on one label sheet.

 - LaBella$MaxTextLinesPerLabel (Initially set to 24). The maximum number of lines of text allowed on a single label. (Increasing this value is not recommended - it is memory hungry.)

 - LaBella$Minprintedpointsize (Initially set to 4). The smallest point size allowed for printing. Any selection less than this will be converted to this value.

 - LaBella$Minlabelscale (Initially set to 20). The minimum scale (%) allowed for the display of the single label in the Label Panel.

 - LaBella$Maxlabelscale (Initially set to 400). The maximum scale (%) allowed for the display of the single label in the Label Panel.

 - LaBella$Minpagescale (Initially set to 20). The minimum scale (%) allowed for the display of the whole label sheet in the Page Panel.

 - LaBella$Maxpagescale (Initially set to 400). The maximum scale (%) allowed for the display of the whole label sheet in the Page Panel.

 - LaBella$Mingraphicscale (Initially set to 10). The minimum scale (%) allowed for the alteration of a loaded drawfile graphic.

 - LaBella$Maxgraphicscale (Initially set to 200). The maximum scale (%) allowed for the alteration of a loaded drawfile graphic.

 - LaBella$MaxCSVSubDirectories (Initially set to 16). There is a need to set the maximum number of sub-directories allowed in the CSVfiles directory.

 - LaBella$UserMenusStd & LaBella$UserMenusExtra (Initially set to 48 and 12 respectively). These items help with the management of those menus showing which Label/CSV/Graphic files are readily available for user-selection.

Whilst there is no application-imposed limit on the number of files that can be stored in the UserRes folders - and consequently presented on the menus - there does need to be a limit set, each time the application is started, on the maximum size these menus can grow to should additional items be added to the folders while the application is running.

 The values of 48 and 12 mean that you can always have at least 48 files in each of the LabelData/CSVFiles/LabelPics folders and that you can always add another 12 files to each after start-up (even if the number of files exceeds 48 on start-up). Warnings will occur if you attempt to exceed the limits set on start-up. It is then simply a matter of quitting and restarting the application, which will automatically set higher limits without losing any files - and allow for yet another 12 files to be added during this new session.

If you know that you are likely to be adding more than 12 new items to any of the three UserRes sub-folders in a particular session it would be a good idea to increase the value of LaBella$UserMenusExtra before you start that session: you can always reduce it again afterwards.

Some comments about CSV files

CSV/TSV files seem to come in many variations. It is believed that !LaBella will handle most of them likely to be used with it - but it can be fooled.

The main rules/assumptions/criteria for !Labella are:

 - The first record of any CSV file (other than any completely blank leading lines) will be taken as the record defining the file format e.g. the number of fields-per-record and the separator. It is best if this first record does not contain any oddities - see below. (And it is really best if there are no leading blank lines.)

- !LaBella will cope with a CSV file where some records have more or less fields than the defining (first) record - but when a record has more fields the excess fields will be ignored. (Note that using !LaBellas Edit facility to amend a record will always set its number of fields to the defining number - so you will lose some fields if you do this with a record which starts with more fields than the defining record.)

 - It is generally better to eliminate blank records - particularly before printing. A blank record is taken as either a completely blank line in the CSV file or a record in which none of the fields contains any text content. Thus a record consisting solely of field separator characters (or solely field separators and empty pairs of double-quotes) will be deemed blank. (However, adding sequential numbering will appear in the displayed/printed output - even though the record is still indicated as blank in the page display. Account needs to be taken of this.)

- No single field (i.e. the text between separators) will exceed 255 characters in length, but there is no limit to the total length of a filed record.

 - The record terminator will be a Line Feed (ASCII number 10) and/or a Carriage Return (ASCII number 13), in either order.

 - Only one type of field separator will exist in a single CSV file, either a comma or the Tab character (ASCII Number 9), but not both in one file.

 - The Tab character will never exist in a CSV file as anything other than a field separator.

 - A comma can exist as either the field separator or as field text content - provided that in the latter case any field in which a comma occurs as content is surrounded by double-quotes (ASCII number 34), or Tabs are used as the separator.

 - Double-quotes can also exist as field text content, but it is best to surround such fields with double-quotes.

 - When used as field content, some combinations of double-quotes and commas can give false results e.g. a double-quote followed immediately by a comma might wrongly be interpreted as the end of a field.

 - If !Labella is fooled by a CSV file it is unlikely to be fatal - and the error(s) will probably be immediately visible in the label display if the Live text option is chosen. The number of fields in the Printing set-up window can also be a useful indicator that correct interpretation has occurred.

I am not a CSV expert, so if you come across a file that !LaBella does not handle correctly, please let me know and I will try to accommodate it.



Default CSV file precaution - If you change the default CSV file it is strongly advised that it does not have its first record blank, otherwise no default text will be shown on start-up or maybe when reverting to the default label. This might be disconcerting. (If other loaded CSV files have any blank records, the number of them will be shown in red in the Printing set-up window (see earlier).)



Modifying CSV files - Sometimes, a CSV file containing data that you wish to use in !LaBella is not quite right. For instance, fields may be in the wrong order or you might prefer some fields to be combined, etc.

In such cases, the application !CSVamp - freeware, from my website - can be the simple way out. Its sole purpose is to take a CSV file and from it produce a new CSV file re-arranged in many user-chosen ways, without altering the original file.

Field selection, joining fields, adding text, adding fields, splitting fields, sorting records, selecting records and more, are all available with !CSVamp.

Other points and tips


  Provided that you have changed their filetype to &1C3 as indicated, label definition files from earlier versions will load without difficulties into this version. However, if you save a label definition from this version it will no longer be usable in earlier versions.


  You may well find that the supplied label definition files need fine tweaking to work perfectly on your own printer - even though the values set up are exactly those required by the label sheet specification. Similarly, a label definition working perfectly on one printer might not be perfect on another printer.

The differences are most likely to be in the printing margins and/or the sheet feed mechanisms of the printers. For example, even minor differences in the sheet feeding mechanisms can produce creeping changes in different labels as the printer moves down the sheet. For this reason you may find it sensible to save more than one definition for ostensibly the same label sheet, with different names indicating the printer for which each is designed.

With some printers, their larger-than-usual bottom print margin may mean that you cant use the bottom row of labels on a sheet. A practical solution to this is simply to produce the label definition with one row less than on the sheet. (You do not need to waste this row: just use it for producing the odd label and feed it into the printer bottom up. Label sheets are invariably symmetrical.)


  When printing using the Sideways option for the first time it is worth checking that you are feeding your sheet/envelope into the printer with the correct end leading - and this is the main reason for showing the red stripe at the top of the printed sheet.

With many printers (if not all), the top of the sheet is the first edge to meet the rollers i.e. the paper is fed in red stripe leading. This is largely irrelevant in portrait mode with symmetrical label sheets - but can be important with sideways printing on envelopes and its worth a double-check with cheap paper first.


  When designing a label definition for an envelope which is to be printed sideways, the positioning of the envelope on the page is not always as instinctive as when using ordinary sheets of labels.

The first thing to remember is that the label display is quite independent of the page display. The label display is used solely to design how the printed text/graphics will appear on a single label - here, the single envelope - and all considerations about where the envelope will be positioned on the page should be ignored when looking at the label layout.

Then, on the page display, attention should be focussed solely on ensuring that the single label (the envelope) is positioned so that the edge that will be fed into the printer is along the Red stripe. This means that the Label left inset value should normally be equal to the difference between the (sideways) paper width and the (sideways) envelope width e.g. (297-220)=77mm for a DL envelope and an A4 printer.

The Label top inset will  vary according to the type of printer paper feed - centralised paper guides or paper guides with one side fixed. For Right-edge-feed, the value will be 0. For Central-feed, the value will be half the difference between the (sideways) paper height and the (sideways) envelope height e.g. (210-130)/2=40mm for a DL envelope and an A4 printer.

Examples of various envelopes are supplied in the separate LabelDesigns directory.


  If using a graphic with the CD label shape then it is quite likely that you will be showing a square picture over the circular label. This will possibly mean that, in order to cover the whole CD, the corners of the graphic will be printed outside the label itself - to be left behind when the label is peeled off. This is not usually a practical problem but care may be needed if there is more than one CD label per sheet.


  If you are using a CD label sheet with 3 labels per sheet (i.e. two labels in the same vertical line and one label offset between them) it is still possible to use !LaBella to print them. Define the page with 3 rows and 2 columns, with the 6 labels overlapping. Ensure that the definition values are such that labels 1, 4 and 5 are in the required positions on the actual sheet. Then produce a custom CSV file with records 1, 4 and 5 holding the required text and records 2, 3 and 6 with blank lines. Printing will then only occur on the three actual labels.


  On start-up, a special system variable is set from within the !RunImage, whose presence is detected in order to prevent a second copy of the application from being started simultaneously. Although steps have been taken to cover most eventualities, it may still be possible for the application to quit due to some obscure error and leave this system variable intact. If that happens you will get an error message telling you that !LaBella is already running (!) and you will not be able to escape from this dilemma without un-setting the special variable.

For this purpose, a small Obey file called Unset is included in !LaBellas application folder. Simply double-click on this to put things right.



  When using envelopes it is sometimes useful to be able to add a return address e.g. the senders address. This is very easily done in !LaBella by constructing a small panel in !Draw with the required address in it - maybe as a single line or a small multi-line version. The resulting drawfile can then be used in the same way as any other graphic in !LaBella, positioned and sized on the envelope as you wish.





Reported problems


1) A very (very!) small number of users have reported the same problem when printing. They say that the printing ceases after producing some labels correctly (sometimes more than a whole sheet) - with the error message Abort on data transfer at Line xxxx. Apparently, the problem occurs every time with them, although the number of successful labels/sheets produced before it happens varies.

Of these few users, most have cured the problem by using print to file or a print spooler - or even a change of !Printers version.

The vast majority of users (including me!) do not get this problem. Despite much investigation I have not been able to re-produce this problem myself, nor have I yet found an explanation within the coding. (I am also grateful to Ian Hamilton for the help he has given in this matter.)

If you get this problem - or if you have any thoughts as to the possible cause - please let me know.


2) There is also a possible problem when using font blending with some printers and/or some versions of !Printers. The symptoms are invisible text or wrongly coloured text. This is not a !LaBella problem. The solution is simply to turn off the Print with font blending option icon in the Miscellaneous window.


Please do not hesitate to report any problems. User feedback is vital to the continued development of !LaBella.



Credits

I am grateful to Steve Fryatt who offered an outline idea on how to make the main windows less busy than they were in earlier versions - by the use of pictorial buttons. I liked his idea and developed it into what you see in Version 6.00.


Thankyou also to:


David Pilling who gave permission for !LaBella to use and include a copy of the PObar font from OvationPro. PObar was designed by Kevin Simpson, who therefore also needs acknowledgement here.


Tony Horsley who reported a problem with the scaled display of a label (which had been there since initial release!). His perserverance helped me find the cause.


Chris Newman for offering several envelope designs plus a good tip for adding a return address.


Contacts

Ray Favre, who died in May 2010, left a note with his will asking that Archive magazine look after his books, software and website to keep them going. He was one of the magazines most prolific writers over the years.

Since Rays death, some Archive members have updated LaBella beyond version 6.40. If you have any comments or queries about LaBella, or would like to contribute updates of your own, please contact the Archive editor as follows:

  Email: rayfavre2010@archivemag.co.uk

  Post: c/o Archive Magazine, 32 Norbins Road, Glastonbury, BA6 9JG

  Web-site at: www.rayfavre.me.uk from which the latest version of the application can be downloaded.


Release History

*****************************************************
Version  6.43  - 15th December 2011
(Updates by Stephen Fryatt)

Fixed print routines for Dr Wimp Version 5.00.

*****************************************************
Version  6.42  -  9th December 2011
(Updates by Chris Johnson, Martin Avison and Jim Nagel; built by Stephen Fryatt)

Fixed OS interface to work with non-Filecore filing systems (eg. Fat32FS) (CJ).

Stylistic improvements to window templates (MA).

(Upgraded to use Dr Wimp Version 5.00)

*****************************************************
Version  6.41  -  5th December 2010
(Updates by Stephen Fryatt  steve@stevefryatt.org.uk)

Fixed operation of Print label outline and Print paper colour options so
that they co-exist correctly.

Altered handling of label background colours so that drawfile data is
parsed in order to find location of background colour word.

*****************************************************
Version  6.40  -  21st June 2008

Added option to delete blank records in loaded CSV file.

Make same as Line 1 for fonts, indents and line-spacings changed to allow
user to choose which line is copied.

Graphics scaling and offset values can be retained during session (instead
of reverting to default on drawfile load/re-load).

Removed restriction on maximum drawfile size.

Rationalised all error/warning boxes.

Corrected bug in Edit window when dealing with blank records.

(Upgraded to use Dr Wimp Version 4.90)

*****************************************************

Version 6.32 - 20th December 2007


Added option to position postal barcode above address instead of the normal position belowthe address.


Fixed bug which was displaying label/graphic at incorrect vertical position when scale was not 100%. (This did not affect printing, which was correctly positioned.)


Changed label name tests to be more flexible when determining associated label shape to be used (including adding DVD to the CD shape).


Better upgrading instructions in Manual.


Upgraded to use Dr Wimp Version 4.80


Manual upgraded correspondingly


*****************************************************

Version 6.31 - 18th October 2007


Fixed bug which could cause a fatal error when saving a label file.


*****************************************************

Version 6.30 - 18th August 2007


Added option to shrink text on any line (i.e. substitute a user-chosen smaller font point-size) if it would otherwise extend beyond the label edge.


*****************************************************

Version 6.20 - 25th March 2007


Added option to show postal barcode - including real DPS if required.


Added option to clip (curtail) text to avoid printing beyond label boundary.



*****************************************************

Version 6.12 - 11th Feb 2007


Added (for envelope label definitions only) a Reverse envelope feed option in Printing set-up & preview window. This allows envelopes to be fed into printer the reverse way round and hence effectively enables one envelope definition to be used for several different envelope sizes.


Corrected bug which affected using Lock with blank text lines.


Upgraded to use Dr Wimp Version 4.70



*****************************************************

Version 6.11 - 20th Dec 2006


Fixed bug in Printing set-up & preview window which wrongly allowed Print graphic? option to be enabled when no graphic file was loaded (and hence led to a printing error).


Enhanced Graphics window to show file-path of loaded graphic and to allow a loaded graphic to be cleared i.e. unloaded.


(Also re-formatted master Impression Manual to provide better base for the OvationPro conversion, which previously was giving problems to those wanting to print the Manual.)


*****************************************************

Version 6.10 - 11th Nov 2006


Added facility to use custom label-numbering schemes

Added option to colour paper and to save user-chosen paper colours.

Added option to clear text in !LaBellas Edit window.

Better error trapping if using CSV file with a field >255 characters.

Bug fix (potentially affecting CSV files with very long fields)

Updated Manual - and included comment on how to paste addresses from !Organizer application directly into !LaBellas Edit window.



*****************************************************

Version 6.04 - 29th Sept 2006


Bug fix (affecting CSV files with LF+CR or CR+LF record terminator)

Updated to use Dr Wimp Version 4.60



*****************************************************

Version 6.03 - 24th June 2006


Bug fix (only affecting CSV files with 1 or 2 fields-per-record)



*****************************************************

Version 6.02 - 1st June 2006


No major functional changes.

Now accepts CSV/TSV files with LF or CR or CR+LF or LF+CR as record terminator.

When user-chosen numbering is added, Page display now temporarily overrides blank record status.

Bug fix to correct handling of some long CSV/TSV records.

Improvements to handling of some awkward CSV/TSV files.

Bug fix to correct temporary messages file issue if user opts to use CSV/TSV subfolder filing facility.

Updated to use Dr Wimp 4.50



*****************************************************

Version 6.01 - 1st December 2005


No functional changes. Updating to use Dr Wimp 4.40.



*****************************************************

Version 6.00 - 1st November 2005


A complete revision of the visual interface by using simpler main windows with pictorial buttons and re-assigning many functions to other windows, some new.

Re-organised and extended iconbar/main menu - mainly to rationalise and extend saving of user choices.

Re-organised saving arrangements for user start-up choices.

Added ability to save and re-load favourite pairs of label+text files.

Added option to set vertical offset from bottom of label to bottom line of text.

Added font blending and made it user-optional.

Made minor operating changes to try to ensure that the Page display acts as a better preview of the printing.

Enhanced editing facilities for loaded CSV file.

Added option to keep label/page display on screen at all times.

Label definition files now use registered file-type &1C3 (labella)

(Updated to use Dr Wimp Version 4.30)

(Complete re-write of Manual)



*****************************************************

Version 5.00 - 16th April 2005


Changed CSV file handing so that any length of CSV record can be used - with limit of 255 characters per field.

Nearly all windows/icons changed to conform more closely with the Style Guide - which has meant several window layout changes.

Comprehensive interactive Help has been added.

The normal RISCOS asterisk in title bar has been implemented for label definition changes and Edit window changes. This is linked with prior warnings when user-action would cause unsaved changes to be discarded. The level of these warnings is a user-choice.

The iconbar/main menu has been extended to give more user choices - including saving choices for start-up settings.

Iconbar/main menu also made available from main windows.

The current date, time and day can now be inserted into CSV fields with special codes which will be read and translated in the display/printing.

Using <shift> with nudgers to change a record number or display scale will now change the value by 10.

The renamed Printing set-up window is now not a pane.

User-choices are now saved to <Choices$Write> directory.

Temporary files are now placed in <Wimp$Scrap> directory.

The Page display now follows the printing set-up choices more closely.

Live text is now automatically selected and displayed on the Label display when a CSV file is loaded.

When the Envelope shape is used the printing set-up values are automatically changed ready to print just one record (the currently displayed record).

The start-up positions of certain windows and window size/scrolls can be saved.

Double-clicking on a label definition file will now start-up !LaBella, provided it has been seen.

Corrected small positional error (display only) when using centred or right-justified text.

Fixed bug which, after using Edit facility, did not display/print a previously (or newly) blank record.


*****************************************************

Version 4.10 - 12th February 2005


Added facility to edit individual records of a loaded CSV file.

Added extra label shape. (Square-cornered e.g. Business card)

Improved saving and deletion options for Label definition files.

Implemented normal RISCOS arrangements for loading label definition files by double-clicking or dragging to iconbar.

Changed system variable names to conform to RISCOS-approved style.

Changed default files naming convention.

Minor coding changes to improve consistency.

Minor cosmetic change to master  CD Label

Major upgrade to Manual.

Added some new sprites (kindly supplied by user Rex Palmer)


*****************************************************

Version 4.00 - 12th December 2004


Added option to use additional label shapes, specifically CD labels and Envelopes.

Added ability to change and/or save default label shape.

Added sideways printing option.

Extended numbering options.

Text version of !Help file now available from Filer and iconbar menu.

Several related coding re-arrangements to make printing set-up nearer to wysiwyg when picture loaded.

Added display update button to Numbering options window.

Minor coding changes to improve user-operations and warnings.

Fix bug which blanked out displayed default label text if blank CSV file loaded.

Fix minor bug in Copies of each record down nudger operation.

Complete revision of OvationPro version of Manual (from which text version is derived).

Upgraded to use Version 4.10 of Dr Wimp.



*****************************************************

Version 3.01 - 5th November 2004


(Limited distribution - pre-empting some of above items)


*****************************************************

Version 3.00 - 17th June 2004


Major upgrade introducing several new features:

Individual line spacing

Individual line indents and justifications

Sequential numbering option

Ability to lock field to line

Text wrap option

Some minor functionality changes for print options.

Many coding improvements and minor bug-fixes.

Upgraded to use Version 4.00 of Dr Wimp.


*****************************************************

Version 2.03 - 23rd February 2004


Modified to prevent potential crash on start-up when used with some Iyonix applications e.g. Oregano2.

Upgraded to use Version 3.90 of Dr Wimp.

NO FUNCTIONAL DIFFERENCE FROM Version 2.02


*****************************************************

Version 2.02 - 18th October 2002


NO FUNCTIONAL DIFFERENCE FROM Version 2.01 - simply modified to use Version 3.64a of Dr Wimp.


*****************************************************

Version 2.01 - 30th June 2002


No functional changes. Source upgraded to use Dr Wimp Version 3.63



*****************************************************

Version 2.00 - 14th June 2002


Major upgrade to include new facilities:

Independent choice of fonts/sizes for each line of text

Choice of Left/Right/Centre text justification

User selectable extra spacing for last line of text

Auto menu system for CSV files now allows sub-directories (to one level only)

Several minor alterations and minor bug fixes.


*****************************************************

Version 1.10 - 7th April 2002


Bug fix to ensure that commas can appear in text content of fields if they are surrounded by double-quotes. (The fix is actually more comprehensive and copes with wider range of possible cases and also gives better warnings.)

Change to ensure that dragging CSV files has exactly the same effect as selecting them from menu. (Previously there was a minor but annoying difference.)

Better handling of blank records.


*****************************************************

Version 1.00 - 1st Feb 2002

